完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人最近在学FreeRTOS,使用的是战舰V2.2版本。在移植的过程中,没按照原子哥的步骤,没移植sys、delay、usart文件夹,只是挂接了三个中断,修改了startup_STM32f10x_hd.s文件。但是在后来想用usart串口1了,由于之前看过原子哥的stm32的寄存器版本,就直接把寄存器版里的usart文件夹和sys.h文件添加进工程,修改了MY_NVIC_Init(6,0,USART1_IRQn,4)这个函数,把组2变成组4,优先级变成6。然后按照原子哥的教程代码,在主函数的xTaskCreate(start_task,.....)前添加初始化uart_init(72,115200),在task1_task()里面printf("task1 running!rn"),结果在串口调试助手里面输出的全是0。我知道是串口初始化有问题,或是时钟配置的不对,但是具体哪里不对就不清楚了,不知道哪位大神知道,小弟不吝赐教。。。
|
|
相关推荐
4个回答
|
|
问题解决了。是系统时钟没有初始化,在原子哥的玩转stm32寄存器版內,是原子哥自己实现的时钟配置函数,所以在startup_stm32f10x_hd.s文件中,没有SystemInit()函数。
而在FreeRTOS移植这本书中,在startup_stm32f10x_hd.s文件中,启动代码直接是从SystemInit()函数开始的,所以时钟是配置好的。而我在移植过程中,第一次运行代码时, 提示我没有SystemInit()这个函数,我直接在启动配置文件中删除了这行,所以才导致这个错误。 |
|
|
|
|
|
|
|
|
|
仿真查看系统时钟配置,检查时钟配置是否正常
|
|
|
|
只有小组成员才能发言,加入小组>>
495 浏览 0 评论
1030 浏览 1 评论
2411 浏览 5 评论
2733 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2550 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
588浏览 9评论
588浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
697浏览 6评论
564浏览 5评论
604浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-30 12:38 , Processed in 0.941286 second(s), Total 54, Slave 45 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号