打印
[单片机芯片]

CH32V103反馈两个程序问题

[复制链接]
941|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
coderdd|  楼主 | 2022-4-22 23:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 coderdd 于 2022-4-23 18:37 编辑

1.在使用FreeRTOS情况下,void TIM1_UP_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));定时器1如果定义为WCH-Interrupt-fast,启动会卡死。必须写成:void TIM1_UP_IRQHandler(void) __attribute__((interrupt()));


2.在使用FreeRTOS情况下,void TIM1_UP_IRQHandler()中断里,调用xTaskNotifyFromISR不起作用,反而xTaskNotify可以。

3.在中断里调用rtt事件通知,不通。两个任务间就可以互通。还是中断问题,目前没弄清楚。。。。

使用特权

评论回复
沙发
WCHTech2| | 2022-4-24 11:24 | 只看该作者
您好,关于问题1,在FreeRTOS情况下,使用软件压栈,需要采用__attribute__((interrupt()))声明,如下图;关于问题2 ,正常来说中断调用xTaskGenericNotifyFromISR,就是多带个中断保护而已,不影响里面的其他操作,可以在这个个函数里面增加一些调试信息,看是否执行期望通知的eAction。附件为RISC-V平台移植RTOS的手册,可以参考一下。下方链接为qingkeV4微处理器手册,有对V103中断和异常的介绍。

http://www.wch.cn/downloads/QingKeV4_Processor_Manual_PDF.html





rtos_2_risc-v.pdf

1.33 MB

使用特权

评论回复
板凳
coderdd|  楼主 | 2022-4-25 11:07 | 只看该作者
WCHTech2 发表于 2022-4-24 11:24
您好,关于问题1,在FreeRTOS情况下,使用软件压栈,需要采用__attribute__((interrupt()))声明,如下图; ...

收到。第二个问题目前还没追踪。第三个问题,大体解决了,就是在RT-Thread里,进出中断,添加rt_interrupt_enter()和rt_interrupt_leave();就可以了。但是同样的代码,在CH32F103系列下,就运行非常正常。但是建议还是添加上述两个函数。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

384

帖子

11

粉丝