串口通讯(AC6)
时间:10-02
整理:3721RD
点击:
看到开发板的底板上有两个9针的串口,从原理图上看,两个串口都是有复用的,通过P8、P9两个跳线进行选择。看了下开发板上,默认都是选择的Com功能。所以这里不用进行更改。
以COM3为例,连接的是UASRT3,其使用的引脚是PB10、PB11
使用STM32CubeMX配置工具,配置串口3的引脚。
进一步配置波特率、校验等等。
并配置成中断模式。
生成代码后,在main函数中增加了两个初始化函数
- MX_USART2_UART_Init();
- MX_USART3_UART_Init();
并在工程中增加了串口相应的文件usart.c。
工程有的只是串口的初始化程序,并没有相应的应用程序。
我们要通过相应的函数将串口中断打开并不回中断回调函数。
- void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle)
- {
- if(UartHandle==&huart2){
- <!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:View>Normal</w:View>
- <w:Zoom>0</w:Zoom>
- <w:PunctuationKerning/>
- <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
- <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
- <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
- <w:ValidateAgainstSchemas/>
- <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
- <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
- <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
- <w:Compatibility>
- <w:SpaceForUL/>
- <w:BalanceSingleByteDoubleByteWidth/>
- <w:DoNotLeaveBackslashAlone/>
- <w:ULTrailSpace/>
- <w:DoNotExpandShiftReturn/>
- <w:AdjustLineHeightInTable/>
- <w:BreakWrappedTables/>
- <w:SnapToGridInCell/>
- <w:WrapTextWithPunct/>
- <w:UseAsianBreakRules/>
- <w:DontGrowAutofit/>
- <w:UseFELayout/>
- </w:Compatibility>
- <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
- </w:WordDocument>
- </xml><![endif]--><!--[if gte mso 9]><xml>
- <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
- </w:LatentStyles>
- </xml><![endif]--><!--[if gte mso 10]>
- <style>
- /* Style Definitions */
- table.MsoNormalTable
- {mso-style-name:普通表格;
- mso-tstyle-rowband-size:0;
- mso-tstyle-colband-size:0;
- mso-style-noshow:yes;
- mso-style-parent:"";
- mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
- mso-para-margin:0cm;
- mso-para-margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:10.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";
- mso-ansi-language:#0400;
- mso-fareast-language:#0400;
- mso-bidi-language:#0400;}
- </style>
- <![endif]-->
- HAL_UART_Receive_IT(&huart2,rxbuffer,1);
- HAL_UART_Transmit_IT(&huart2,rxbuffer,1);
- }
-
- }
打开串口助手进行测试