完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用rt-thread-0.2.4版本,在MDK上软件仿真调试STM32F101RB。 初始化USART2工作在中断发送方式,使用消息队列方式传递发送字符,中断中自动完成消息队列中字符发送。软件调试成功。
问题: 1. 我想修改rt_kprintf()函数也采用消息队列传递发送字符,USART1也采用中断方式发送。但是在只要使能调用USART_ITConfig(USART1, USART_IT_TXE, ENABLE);使能USART1的发送缓冲空中断使能,程序稍后老是执行void rt_hw_uart_rx_int(int irqno)函数(在board.c文件中),程序并没有跑飞,而是退出此函数马上又进入此函数重复执行。 修改rt_kprintf()函数成为中断方式需要注意什么地方,怎么修改? |
|
相关推荐
5个回答
|
|
补充说明,
1.我已经在消息队列初始化之前不再调用打印函数;rt_kprintf()函数已经在用户任务里面调用了。( show version 函数移到用户任务里面了) 2. USART1的发送消息是送入字符消息进入DR寄存器以后,再打开缓冲区非空中断的。 |
|
|
|
RTT-0.2.4那会貌似还没有支持CM3的...
建议使用SVN里面的版本,0.3.* 另外,有发现的BUG也是及时在这里修正,大家可以很好的同步,好交流 另外,MDK软仿STM32的串口,工作在中断发送方式下,是会重复进入串口中断,(我当时也郁闷了好久) 查看所有的寄存器,没有哪个中断被触发,同样的程序下到硬件则正常 从你的描述上看,应该是同一问题 为何不用硬件测试? 软仿测试一下算法还行,和硬件相关的还是真刀真枪好些 |
|
|
|
件仿真是因为手头没有开发板等硬件。我做软件仿真为了评估某些硬件设计方案的可行性,和某些技术解决方案的可行性,只好采用MDK的软件仿真评估一下!
我跟踪了一下软件仿真USART1,MDK中查看相关寄存器都产生了中断,就是不跳到中断服务程序去,原因不明。软件仿真USART2一切都正常! 本周买一个STM32的开发板回来,实际测测!我准备在项目中使用STM32和RT-Thread了。 |
|
|
|
|
|
|
|
mdk软仿确实很方便
但软仿本身有问题确实很让人头疼 在LS3M的串口软仿,也发现中断问题,初始化后就进中断一次,下到硬件就正常 另外把32位定时器拆成2个16位定时器用的时候,软仿不会触发中断,下到硬件也正常 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
786 浏览 0 评论
4210 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2520 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2926 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31442 浏览 11 评论
72903 浏览 21 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 07:59 , Processed in 0.737685 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号