用户工具

站点工具


icore4t_3

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore4t_3 [2020/01/15 16:49]
zgf [三、 实验原理]
icore4t_3 [2022/03/22 10:38] (当前版本)
sean
行 1: 行 1:
 +|**银杏科技有限公司旗下技术文档发布平台** ​ ||||
 +|技术支持电话|**0379-69926675-801** ​ |||
 +|技术支持邮件|Gingko@vip.163.com ​ |||
 +^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 +|  V1.0  |  2020-01-15 ​ |  gingko ​ |  初次建立 ​ |
 +
 +
 +
 +
 ===== STM32CubeMX教程三——UART通信实验 ===== ===== STM32CubeMX教程三——UART通信实验 =====
  
行 54: 行 63:
 ==== 二、 实验设备及平台 ==== ==== 二、 实验设备及平台 ====
  
-  - iCore4T 双核心板 +  - iCore4T 双核心板[[https://​item.taobao.com/​item.htm?​spm=a1z10.1-c.w4024-251734887.1.702b532fIH316i&​id=610595120319&​scene=taobao_shop|点击购买]] 
-  - JLINK(或相同功能)仿真器+  - JLINK(或相同功能)仿真器[[https://​item.taobao.com/​item.htm?​spm=a1z10.5-c.w4002-251734908.13.36d92b617JpZ3V&​id=554869837940|点击购买]]
   - Micro USB线缆   - Micro USB线缆
   - Keil MDK 开发平台   - Keil MDK 开发平台
行 83: 行 92:
   * 停止位:一个高电平。   * 停止位:一个高电平。
   * 本试验使用的芯片STM32H750IBKx,使用UART为USART_2,引脚位PD5和PD6,经过串口转USB芯片CH340转换后,可通过USB接口与计算机通讯。计算机安装 CH340 驱动后,可通过串口工具来接收串口发送的数据和向串口发送给数据。用串口工具打开iCore4T对应的端口,波特率设为115200,发送相应的命令,便可以控制ARM LED的亮灭情况。串口命令如下表:   * 本试验使用的芯片STM32H750IBKx,使用UART为USART_2,引脚位PD5和PD6,经过串口转USB芯片CH340转换后,可通过USB接口与计算机通讯。计算机安装 CH340 驱动后,可通过串口工具来接收串口发送的数据和向串口发送给数据。用串口工具打开iCore4T对应的端口,波特率设为115200,发送相应的命令,便可以控制ARM LED的亮灭情况。串口命令如下表:
 +
 |LED_RED_ON\r\n  ​       |LED红灯亮| |LED_RED_ON\r\n  ​       |LED红灯亮|
 |LED_RED_OFF\r\n |LED红灯灭| |LED_RED_OFF\r\n |LED红灯灭|
-|LED_BLUE_ON\r\n |LED蓝灯亮| +
-|LED_BLUE_OFF\r\n |LED蓝灯灭| +
-|LED_GREEN_ON\r\n |LED绿灯亮| +
-|LED_GREEN_OFF\r\n |LED绿灯灭|+
 原理图如下图所示: 原理图如下图所示:
 {{ :​icore4t:​icore4t_arm_hal_3_2.png?​direct |}} {{ :​icore4t:​icore4t_arm_hal_3_2.png?​direct |}}
行 184: 行 191:
   * HAL_UART_Transmit_DMA();​串口DMA模式发送   * HAL_UART_Transmit_DMA();​串口DMA模式发送
   * HAL_UART_Transmit_DMA();​串口DMA模式接收   * HAL_UART_Transmit_DMA();​串口DMA模式接收
-  ​* 串口发送数据+ 
 +**串口发送数据**
 <code c> <code c>
 HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout) HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 </​code> ​ </​code> ​
 **功能:**串口发送指定长度的数据。如果超时没发送完成,则不再发送,返回超时标志(HAL_TIMEOUT)。 **功能:**串口发送指定长度的数据。如果超时没发送完成,则不再发送,返回超时标志(HAL_TIMEOUT)。
 +
 **参数:** **参数:**
 +
 UART_HandleTypeDef*huart UATR的别名 如: UART_HandleTypeDef huart2;​别名就是huart2 UART_HandleTypeDef*huart UATR的别名 如: UART_HandleTypeDef huart2;​别名就是huart2
 *pData ​   需要发送的数据 ​ *pData ​   需要发送的数据 ​
 Size     ​发送的字节数 Size     ​发送的字节数
 Timeout ​ 最大发送时间,发送数据超过该时间退出发送 ​ Timeout ​ 最大发送时间,发送数据超过该时间退出发送 ​
 +
 **中断接收数据:** **中断接收数据:**
 <code c> <code c>
行 199: 行 210:
 </​code> ​ </​code> ​
 **功能:**串口中断接收,以中断方式接收指定长度数据。 **功能:**串口中断接收,以中断方式接收指定长度数据。
 +
 大致过程:设置数据存放位置,接收数据长度,然后使能串口接收中断。接收到数据时,会触发串口中断。之后,串口中断函数处理,直到接收到指定长度数据,而后关闭中断,进入中断接收回调函数,不再触发接收中断。(只触发一次中断) 大致过程:设置数据存放位置,接收数据长度,然后使能串口接收中断。接收到数据时,会触发串口中断。之后,串口中断函数处理,直到接收到指定长度数据,而后关闭中断,进入中断接收回调函数,不再触发接收中断。(只触发一次中断)
 +
 **参数:** **参数:**
 +
 UART_HandleTypeDef *huart ​ UATR的别名 UART_HandleTypeDef *huart ​ UATR的别名
 *pData ​   接收到的数据存放地址 *pData ​   接收到的数据存放地址
 Size      接收的字节数 Size      接收的字节数
 +
 4. 串口中断函数 4. 串口中断函数
 <code c> <code c>
行 221: 行 236:
  
 **串口接收中断回调函数** **串口接收中断回调函数**
 +
 <code c> <code c>
 HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart); ​ HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart); ​
行 226: 行 242:
  
 **功能:**HAL库的中断进行完之后,并不会直接退出,而是会进入中断回调函数中,用户可以在其中设置代码,串口中断接收完成之后,会进入该函数,该函数为空函数,用户需自行修改。 **功能:**HAL库的中断进行完之后,并不会直接退出,而是会进入中断回调函数中,用户可以在其中设置代码,串口中断接收完成之后,会进入该函数,该函数为空函数,用户需自行修改。
-**参数:**+ 
 +**参数:**\\ 
 UART_HandleTypeDef *huart ​  ​UATR的别名 UART_HandleTypeDef *huart ​  ​UATR的别名
 +
 **串口中断处理函数**  ​ **串口中断处理函数**  ​
 +
 <code c> <code c>
 HAL_UART_IRQHandler(UART_HandleTypeDef *huart);  ​ HAL_UART_IRQHandler(UART_HandleTypeDef *huart);  ​
 </​code> ​ </​code> ​
 **功能:**对接收到的数据进行判断和处理 ​ 判断是发送中断还是接收中断,然后进行数据的发送和接收,在中断服务函数中使用 **功能:**对接收到的数据进行判断和处理 ​ 判断是发送中断还是接收中断,然后进行数据的发送和接收,在中断服务函数中使用
 +
 **串口查询函数** **串口查询函数**
 +
 <code c> <code c>
 HAL_UART_GetState(); ​ HAL_UART_GetState(); ​
icore4t_3.1579078155.txt.gz · 最后更改: 2020/01/15 16:49 由 zgf