微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 串口通讯(AC6)

串口通讯(AC6)

时间:10-02 整理:3721RD 点击:

看到开发板的底板上有两个9针的串口,从原理图上看,两个串口都是有复用的,通过P8、P9两个跳线进行选择。看了下开发板上,默认都是选择的Com功能。所以这里不用进行更改。



以COM3为例,连接的是UASRT3,其使用的引脚是PB10、PB11



使用STM32CubeMX配置工具,配置串口3的引脚。



进一步配置波特率、校验等等。



并配置成中断模式。



生成代码后,在main函数中增加了两个初始化函数


  1. MX_USART2_UART_Init();
  2.   MX_USART3_UART_Init();

复制代码


并在工程中增加了串口相应的文件usart.c。

工程有的只是串口的初始化程序,并没有相应的应用程序。

我们要通过相应的函数将串口中断打开并不回中断回调函数。


  1. void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle)
  2. {
  3.         if(UartHandle==&huart2){
  4.                 <!--[if gte mso 9]><xml>
  5. <w:WordDocument>
  6.   <w:View>Normal</w:View>
  7.   <w:Zoom>0</w:Zoom>
  8.   <w:PunctuationKerning/>
  9.   <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
  10.   <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
  11.   <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
  12.   <w:ValidateAgainstSchemas/>
  13.   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  14.   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  15.   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  16.   <w:Compatibility>
  17.    <w:SpaceForUL/>
  18.    <w:BalanceSingleByteDoubleByteWidth/>
  19.    <w:DoNotLeaveBackslashAlone/>
  20.    <w:ULTrailSpace/>
  21.    <w:DoNotExpandShiftReturn/>
  22.    <w:AdjustLineHeightInTable/>
  23.    <w:BreakWrappedTables/>
  24.    <w:SnapToGridInCell/>
  25.    <w:WrapTextWithPunct/>
  26.    <w:UseAsianBreakRules/>
  27.    <w:DontGrowAutofit/>
  28.    <w:UseFELayout/>
  29.   </w:Compatibility>
  30.   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  31. </w:WordDocument>
  32. </xml><![endif]--><!--[if gte mso 9]><xml>
  33. <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
  34. </w:LatentStyles>
  35. </xml><![endif]--><!--[if gte mso 10]>
  36. <style>
  37. /* Style Definitions */
  38. table.MsoNormalTable
  39.         {mso-style-name:普通表格;
  40.         mso-tstyle-rowband-size:0;
  41.         mso-tstyle-colband-size:0;
  42.         mso-style-noshow:yes;
  43.         mso-style-parent:"";
  44.         mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
  45.         mso-para-margin:0cm;
  46.         mso-para-margin-bottom:.0001pt;
  47.         mso-pagination:widow-orphan;
  48.         font-size:10.0pt;
  49.         font-family:"Times New Roman";
  50.         mso-fareast-font-family:"Times New Roman";
  51.         mso-ansi-language:#0400;
  52.         mso-fareast-language:#0400;
  53.         mso-bidi-language:#0400;}
  54. </style>
  55. <![endif]-->
  56.                 HAL_UART_Receive_IT(&huart2,rxbuffer,1);
  57.                 HAL_UART_Transmit_IT(&huart2,rxbuffer,1);
  58.         }
  59.        
  60. }

复制代码


打开串口助手进行测试






Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top