芯达stm32入门系列教程之八《usart串口编程》

芯达stm32入门系列教程之八《usart串口编程》

ID:34563555

大小:452.65 KB

页数:6页

时间:2019-03-08

芯达stm32入门系列教程之八《usart串口编程》_第1页
芯达stm32入门系列教程之八《usart串口编程》_第2页
芯达stm32入门系列教程之八《usart串口编程》_第3页
芯达stm32入门系列教程之八《usart串口编程》_第4页
芯达stm32入门系列教程之八《usart串口编程》_第5页
资源描述:

《芯达stm32入门系列教程之八《usart串口编程》》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、www.arm79.comSTM32入门系列教程串口的编程Revision0.01(2010-04-21)1Copyright©2009-2010福州芯达工作室ALLrightsreservedwww.arm79.com很多书籍或者教程,在介绍串口的时候,总会先介绍UART的功能多么强大。在这里,笔者认为,功能强大,可以红外,可以流控,那跟我有啥关系?我只要让串口成为我的工具即可。我们对串口编程,熟悉串口,只是想利用串口来调试信息等。先别忙着看书,大家对串口编程前,应该明确如下几个问题:1、串口的作用:用在STM32板子和PC机通信的。我们调试的时候,无法知道是否正确,就

2、可以用STM32的cpu,给串口输出一些信息给PC,我们通过屏幕(实际上是终端串口软件),可以看到这些信息,从而知道当前程序的错误可能出现的位置。当然,也可以在PC的键盘敲打命令,让串口帮传递给STM32板子,来执行这些命令。2、串口到底如何工作的?一般有两种方式:查询和中断。(1)查询:串口程序不断地循环查询,看看当前有没有数据要它传送。如果有,就帮助传送(可以从PC到STM32板子,也可以从STM32板子到PC)。(2)中断:平时串口只要打开中断即可。如果发现有一个中断来,则意味着要它帮助传输数据——它就马上进行数据的传送。同样,可以从PC到STM32板子,也可以从S

3、TM32板子到PC。3、如何通过编程,让串口工作在查询或中断方式下?由于现实项目中,一般采用中断方式来处理串口,为方便大家编程,我们在例程目录中,给出了中断和查询两种方式的代码,仅供参考。OK,明白以上三个问题后,让我们开始串口的学习吧!我们分几个步骤来学习串口。步骤一从硬件开始学习。大家先打开芯达STM32开发板附带的原理图。找到串口部分。笔者把它截图如下。我们发现,串口模块的电路是这样的:STM32的CPU引脚,通过两个PA端口的引脚PA10和PA9,连接到一个SP3232芯片,或者MAX232芯片。然后再连接到DB9串口座上。由于232芯片可以允许走两路信号,因此,

4、我们扩展了一个串口COM2,请注意,如无特别说明,我们都将使用COM1。SP3232EEN芯片能帮助把数据信号转换成电脑232接口能识别的信号。其转换是自动进行的。因此,我们只需要把要发送的数据送给引脚PA9,然后再串口2Copyright©2009-2010福州芯达工作室ALLrightsreservedwww.arm79.com座的引脚3上去接收数据即可。反之,接收数据也是一样。这里您可能有个疑问,为啥使用PA9和PA10?大家下载STM32的datasheet文档后,在GPIO的复用功能章节,即可找到原因:原来这两个引脚是USART复用的,呵呵。另外,固件函数中的串

5、口例子,使用的也是PA9和PA10。当然还有其他复用的GPIO引脚,比如PA2,PA3等。步骤二初始化串口。请您打开《STM32F103xxx参考手册》与《STM32固件库使用手册》。我们的思路和之前一样,根据固件库使用手册中给出的步骤来配置串口。1、要声明一个结构:GPIO_InitTypeDefGPIO_InitStructure;USART_InitTypeDefUSART_InitStructure;这里顺便也声明了GPIO的结构。原因是:串口是需要使用IO口来进行发送和接收的。2、设置该结构中的成员:串口的结构成员设置如下:USART_StructInit(&U

6、SART_InitStructure);USART_InitStructure.USART_BaudRate=115200;USART_InitStructure.USART_WordLength=USART_WordLength_8b;USART_InitStructure.USART_StopBits=USART_StopBits_1;USART_InitStructure.USART_Parity=USART_Parity_No;USART_InitStructure.USART_Mode=USART_Mode_Rx

7、USART_Mode_Tx;USART_Init

8、Structure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;GPIO结构的成员设置如下:GPIO_StructInit(&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。