完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
一、配置MCU
(1) 、文件--新建项目--选择自己所用的MCU类型、接着配置RCC时钟,都选外部晶振。 (2)、配置时钟频率(这里配置为180M) 二、配置串口的参数、 (1)、选使用的串口、串口模式。 (2)、选串口的输入、输出脚、这里配置PA9 .PA10 (3)、波特率中断NVIC。 第四步、配置NVIC优先级及生成自动中断服务函数。 (1)、选项卡 NVIC的优先级及勾选中断使能。 (2)、选项卡-Code generation的生成1、中断初始化 2、中断处理函数 3、中断回调函数。 第四、生成KEIL项目文件。 (1)PROJECT选项配置,编译环境的这里选KEIL V5.0(我的机子上安装的是KEIL 2.0) (2)、Code Generator 选项卡的配置。 第五步 、测试串口1发送数据 。只加入两行代码就可以用串口1发送数据。 第六步、串口1发送数据成功。 第七步、测试串口1接收数据。 (1).开启了中断才会执行中断函数。 __HAL_UART_ENABLE_IT(&huart1,UART_IT_RXNE);//开启串口1的中断使能(大开关) HAL_UART_Receive_IT(&huart1,aRxBuffer,RxXferCount); //开启接收串口1中断,注意每接收完一次 // 要重新开启 才,接收完成。 以上两行代码:::》》》只有开启了 1.串口1总中断, 2. 串口1接收中断。 ========== 以下是执行流程图过程,执行完======================== (2)、通过stm32f7xx_it.c找到自带的原回调函数,定位到串口1的接收回调方法中。并复制到MAIN.C中 (3)、复制到MAIN.C中,这里的HAL_UART_RxCpltCallback方法就无效了。 (4)、当串口1每接收到有1字符过来时,就会执行串口1的接收中断函数USART1_IRQHandler, 执行完后会去判断HAL_UART_Receive_IT(&huart1,aRxBuffer,RxXferCount)的RxXferCount值是否为0, 为0时就会执行接收回调函数HAL_UART_RxCpltCallback。。 |
|
|
|
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
1739 浏览 0 评论
3339 浏览 9 评论
3017 浏览 16 评论
3508 浏览 1 评论
9106 浏览 16 评论
1223浏览 3评论
633浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
621浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2363浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1928浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-14 13:27 , Processed in 1.381682 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号