当前位置:网站首页>STM32 series - serial port UART software pin internal pull-up or external resistance pull-up - cause problem search

STM32 series - serial port UART software pin internal pull-up or external resistance pull-up - cause problem search

2022-07-05 01:41:00 Curious chinchilla

Preface -( Know that a conclusion is correct , Also know why it is right )

lately , In the debug uart Serial port , Be asked to , When initializing the serial port , Set the pin to pull up . From this, I thought of the question of why to pull up , But I checked the information on the Internet , Most of the findings are about RX It should be pulled up , But why pull up , No one said it clearly , So I want to find out the reason .

Problem description

Presuppose questions , Know what you want to ask , The problem itself . If your head is in a mess , Don't be ambivalent , That is not accurate for the knowledge we have .

  1. RX yes It should be pulled up inside the software , Or add external resistance to pull up ?
  2. TX whether Also needed Software internal pull-up , perhaps External resistance pull-up is required ?
  3. If you add an external pull-up resistance, what is it generally ?

Lookup process

(1) Search the Internet

1、 stay CSDN Find several articles , It involves the problem of pull-up resistance , The one with a better description is put below .
This blog has collected a lot of discussions , It has reference value .
link :https://blog.csdn.net/sinat_16643223/article/details/119208104
2、 I also searched some on the Internet , It also has reference value , I put the translated screenshot directly below . Network restrictions , May not be able to access .
https://electronics.stackexchange.com/questions/270834/pull-up-resistors-on-uart
 Screenshot 1
 Insert picture description here
 Insert picture description here

(2) Ask the boss

I consulted a professional boss , According to the understanding of the words of the boss , The following three points are summarized , Or you need to verify the content .

  1. You need to check the internal block diagram of the chip
  2. Whether there is pull-up on the peripheral
  3. Tx Never mind , Push pull .
  4. Find the sample code , See what people do

(3) Check code - Find manual - verification

(1) Find the sample code , have a look ST Whether to pull up all in the sample code .
I used to debug code before STM32cubeIDE, This software has a sample library , If they are installed by default , You will find the sample code path under the following path .
 Insert picture description here

Specifically, select any file
 Insert picture description here
stay HAL Library code file stm32f4xx_hal_msp.c Next , It has the following contents , That is to say ST Official examples , There is no forced pull up , But I have no corresponding board , So I don't know how to connect peripherals , And whether there is a pull-up resistor .
 Insert picture description here
(2) Find the sample code , See if the punctual atomic code has a pull-up resistor .
Find the punctual atom HAL Library code , See the following in the code .
 Insert picture description here
The punctual atomic code is indeed pulled up , Then look at F4 Is there a pull-up resistor on the board , Schematic diagram is as follows , You can see that there is no external pull-up resistor .
 Insert picture description here
This external device CH340G Also check the manual , Find English datasheet Not to mention , But the manual translated from Chinese has instructions , The manual links are as follows .
https://download.csdn.net/download/qq_22146161/80134371
There is such a sentence in the Chinese manual , It is understandable that there is a pull-up resistor inside this chip .
 Insert picture description here
(3) During the search , Find out whether you need to add pull , It has something to do with the working mode of the chip , It has something to do with the chip itself . Checking F4 The following is found in the Chinese reference manual “STM32F4xx Chinese Reference Manual .pdf”.
 Insert picture description here

Some resources links

(1)CSDN link :
https://blog.csdn.net/weixin_46146288/article/details/112681794
(2)CSDN link :
https://blog.csdn.net/weixin_49770585/article/details/115460495
(3) lookup STM32 Specific model of series STM32F103 The internal weak pull-up resistance is generally 40K
https://www.pianshen.com/article/8441785505/
perhaps
https://blog.csdn.net/wuhuijun165/article/details/49518575

Summary of existing conclusions

Summarize according to the problems and the information you find , Sum up the following points , For reference , If you have new knowledge , Please leave a message to correct , I'll change it in time .

  1. RX yes It should be pulled up inside the software , Or add external resistance to pull up ?
    This needs to be based on the actual situation of the chip , Check the chip IO Hardware block diagram determine , Now most chips are inside , A weak pull-up resistor has been automatically integrated , Generally, external resistance pull-up is not required , You only need to configure the software , With pull-up .
  2. TX whether Also needed Software internal pull-up , perhaps External resistance pull-up is required ?
    This also depends on the actual situation of the chip , In general , There is no need for internal software pull-up and External resistance pull up , stay GPIO Working in push-pull mode , In fact, we already have this resistor .
  3. If you add an external pull-up resistance, what is it generally ?
    According to the available information , Most of the external pull-up resistors are 10K, In fact, if you are not sure whether your chip has weak pull-up or pull-down inside the chip , You can do it in advance PCB Leave two packages when drawing , Don't weld at that time .
原网站

版权声明
本文为[Curious chinchilla]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202141020485833.html