在线时间828 小时
UID3079326
注册时间2015-2-11
NXP金币28
TA的每日心情 | 奋斗 2025-5-7 09:07 |
---|
签到天数: 353 天 连续签到: 1 天 [LV.8]以坛为家I
金牌会员
 
- 积分
- 5785
- 最后登录
- 2025-5-7
|
本帖最后由 wambob 于 2016-4-5 14:26 编辑
UART在很多场合使用。因为要和透传蓝牙模块连接,特地使用寄存器体验硬件底层,问题来了在while里使用查询接收时延时长了就会出错。查询出错可能跟速度有关吧,只好使用中断接收。另外使用printf命令还要添加代码,摘自例程。学习就是折腾的过程。
中断接收在LPUART1_init开启接收中断,添加代码
- LPUART1_CTRL|=LPUART_CTRL_RE(1)|LPUART_CTRL_TE(1)|LPUART_CTRL_RIE(1); //开启收发功能,接收中断
-
- NVIC_EnableIRQ(LPUART1_IRQn);
- NVIC_SetPriority(LPUART1_IRQn,3);
复制代码 添加中断服务接口
- void LPUART1_IRQHandler (void)
- {
-
- LPUART1_ReadByte(&ch);
- printf("%c", ch);
-
-
- }
复制代码
|
评分
-
查看全部评分
|