嵌入式详解6:串口UART输入输出-收发_第1页
嵌入式详解6:串口UART输入输出-收发_第2页
嵌入式详解6:串口UART输入输出-收发_第3页
嵌入式详解6:串口UART输入输出-收发_第4页
嵌入式详解6:串口UART输入输出-收发_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ARM嵌入式技术——Cortex-M3第7讲

STM32F103的UART输入输出中断收发仿真实训:串口收发实训软件操作步骤1.建立Proteus项目1.新建项目2.定位到自建的路径3.起个项目名4.点击Next5.该选项卡下继续Next6.该选项卡下继续Next7.该选项卡下继续Next8.该选项卡下Finish仿真实训:串口收发实训软件操作步骤1.建立Proteus项目项目新建完成后的界面点击P,进入器件选择界面仿真实训:串口收发实训软件操作步骤2.调用Proteus器件第2步操作后,被选器件出现在此处器件选择选项卡界面1.输入搜索词STM32F12.选择STM32F103R6,双击说明:Proteus8.7软件中目前只支持部分型号,但STM32F103系列器件有相通性,不涉及具体型号特有资源时,可替代仿真实训:串口收发实训软件操作步骤2.调用Proteus器件被选器件出现在此处器件选择选项卡界面3.再重新输入搜索词COMPIM4.选择COMPIM,双击5.所需器件选完后,点OK仿真实训:串口收发实训软件操作步骤3.作电路图1.点中器件3.鼠标右键击器件,可以对器件作旋转镜像等操作2.作图区再点一下,即可摆下所选器件仿真实训:串口收发实训软件操作步骤3.作电路图5.连线4.器件水平镜像PA9:USART1_TXPA10:USART1_RX仿真实训:串口收发实训软件操作步骤3.作电路图6.双击COMPIM7.定COM1,并设置串口参数:9600/无校验/1位停止位仿真实训:串口收发实训软件操作步骤4.生成一对虚拟串口1.设定好COM1COM22.点击仿真实训:串口收发实训软件操作步骤5.STM32CubeMX配置点击启动项目仿真实训:串口收发实训软件操作步骤5.STM32CubeMX配置1.输入器件型号2.选中相应器件3.开始仿真实训:串口收发实训软件操作步骤5.STM32CubeMX配置设置JTAG5pin仿真实训:串口收发实训软件操作步骤5.STM32CubeMX配置设置USART1仿真实训:串口收发实训软件操作步骤5.STM32CubeMX配置设置中断仿真实训:串口收发实训软件操作步骤5.STM32CubeMX配置暂时默认内部时钟配置特别关注此处频率,在Proteus仿真时,MCU频率与该处一致仿真实训:串口收发实训软件操作步骤5.STM32CubeMX配置项目设置仿真实训:串口收发实训软件操作步骤5.STM32CubeMX配置项目设置仿真实训:串口收发实训软件操作步骤5.STM32CubeMX配置最后一步:生成代码生成代码后的提示仿真实训:串口收发实训软件操作步骤6.程序中用户代码编写main.c文件中补充用户代码然后编译生成HEX文件仿真实训:串口收发实训软件操作步骤7.调用HEX文件调试找到相应位置,调用HEX文件时钟频率与STM32芯片CPU时钟一致(非源振荡器频率)仿真实训:串口收发实训软件操作步骤7.调用HEX文件调试Proteus仿真运行状态串口助手实际运行状态串口助手设置认识几个串口收发相关的函数函数名HAL_StatusTypeDefHAL_UART_Transmit(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize,uint32_tTimeout)函数描述串口轮询模式发送,使用超时管理机制。参数*huart:UART号指针,程序中用到了&huart1*pData:数据(字符串)指针,程序中用到了TX_buf1和TX_buf2Size:数据长度,程序中即字符串中字符数Timeout:超时时间,时间到还没发完就不发了,单位约为ms要点事先预估好按设定波特率发一串数据要多长时间,从而来设定Timeout的值,也可以将其放到充分大仿真实训:串口收发实训认识几个串口收发相关的函数函数名HAL_StatusTypeDef

HAL_UART_Transmit_IT(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize)函数描述串口中断模式发送大量数据。参数*huart:UART号指针*pData:数据(字符串)指针Size:数据长度,程序中即字符串中字符数仿真实训:串口收发实训认识几个串口收发相关的函数函数名HAL_StatusTypeDefHAL_UART_Receive(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize,uint32_tTimeout)函数描述串口轮询模式接收,使用超时管理机制。参数*huart:UART号指针,程序中用到了&huart1*pData:数据(字符串)指针,程序中用到了RX_bufSize:数据长度,即准备接收数据的个数Timeout:超时时间,时间到还没收完就不收了,单位约为ms要点事先预估好按设定波特率发一串数据要多长时间,从而来设定Timeout的值,也可以将其放到充分大仿真实训:串口收发实训认识几个串口收发相关的函数函数名HAL_StatusTypeDef

HAL_UART_Receive_IT

(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize)函数描述串口中断模式接收参数*huart:UART号指针,程序中用到了&huart1*pData:数据(字符串)指针,程序中用到了RX_bufSize:数据长度,即准备接收数据的个数要点仿真实训:串口收发实训认识几个串口收发相关的函数函数名voidUSART1_IRQHandler(void)函数描述这个函数处理USART1全局中断要点该函数在stm32f1xx_it.c文件中,USART1中断即自动跳转到此仿真实训:串口收发实训认识几个串口收发相关的函数函数名void

HAL_UART_IRQHandler(UART_HandleTypeDef*huart)函数描述串口中断处理函数要点仿真实训:串口收发实训认识几个串口收发相关的函数函数名__weak

voidHAL_UART_RxCpltCallback(UART_HandleTypeDef*huart)函数描述Rx传输完成回调函数参数*huart:UART号指针要点弱函数,在stm32f1xx.hal_uart.c文件中,供用户复制修改成用户函数仿真实训:串口收发实训认识几个串口收发相关的函数函数名__weak

voidHAL_UART_TxCpltCallback(UART_HandleTypeDef*huart)函数描述Tx传输完成回调函数参数*huart:UART号指针要点弱函数,在stm32f1xx.hal_uart.c文件中,供用户复制修改成用户函数仿真实训:串口收发实训串口相关寄存器仿真实训:串口收发实训串口结构主要跟红外、智能卡等相关,暂时不作细述串口相关寄存器仿真实训:串口收发实训常用的串口相关寄存器USART_SR状态寄存器USART_DR数据寄存器USART_BRR波特率寄存器

串口相关寄存器仿真实训:串口收发实训USART_SR状态寄存器串口相关寄存器仿真实训:串口收发实训USART_SR状态寄存器串口相关寄存器仿真实训:串口收发实训USART_SR状态寄存器串口相关寄存器仿真实训:串口收发实训USART_SR状态寄存器串口相关寄存器仿真实训:串口收发实训USART_DR数据寄存器串口相关寄存器仿真实训:串口收发实训波特比率寄存器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论