完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
根据报错分析问题吧,这个不好说
|
|
|
|
看port.c中696行的代码
configASSERT( ( portAIRCR_REG & portPRIORITY_GROUP_MASK ) <= ulMaxPRIGROUPValue ); 意思就是你端口中断的优先级比系统中最大优先级要小。 也就是说FreeRTOS系统在工作时,任务调度会影响你自己的中断程序。 如果不想你自己的中断程序被任务调度影响,在FreeRTOSConfig.h看看 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5 //系统可管理的最高中断优先级 这个值是多少,然后把你程序中断值,改的比这个值大就行了。 |
|
|
|
我串口中断设置是7,如果不在中断里面执行系统的函数就没问题。
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 7; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); 中断配置如上,但中断是空闲中断+DMA。 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5 这个值是5。 |
|
|
|
如果你的中断值大于5,就说明系统不能管理你的中断函数,两者之间是独立的,如果想要系统管理你的中断函数,就把中断值设置为小于5就行。
|
|
|
|
可能我想反了,谢谢,我试试看。
|
|
|
|
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 6; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); 我把上面的中断值改为大于5,报错696;小于5,报错680+696。但我这中断应该就是这里配置,是不是可能DMA的中断,但DMA中断选择只有高中低三个。 |
|
|
|
DMA_InitTypeDef DMA_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); DMA_DeInit(DMA_CHx); DMA_InitStructure.DMA_PeripheralBaseAddr = cpar; DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; // DMA_InitStructure.DMA_Priority = DMA_Priority_High; DMA_InitStructure.DMA_Priority = DMA_Priority_Low; DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; DMA_Init(DMA_CHx, &DMA_InitStructure); 我这边还配置了DMA的中断,会不会是这个影响了,但我换遍了所有的中断等级,都是一样的报错。 |
|
|
|
是不是你的中断因为优先级高于freertos的管理等级,不归freertos管理,却调用了freertos的api
|
|
|
|
但我的串口中断应该是没有优先于系统的管理等级。
|
|
|
|
你看看上面我贴的代码,就开了串口中断和DMA中断
|
|
|
|
只有小组成员才能发言,加入小组>>
722 浏览 0 评论
1123 浏览 1 评论
2504 浏览 5 评论
2840 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2684 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
664浏览 9评论
679浏览 7评论
682浏览 5评论
665浏览 5评论
imx6dl芯片与imx6q芯片互换启动无反应请问是什么问题呢
280浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 23:07 , Processed in 1.258454 second(s), Total 98, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号