从裸机移植到RTT过程中外部中断问题

最近在项目开发中,使用的裸机开发,因为之前学过freertos,想着把项目移植一个实时操作系统,移植前发现rttread官网的资料更全,更适合长期去使用以及学习,因此将项目移植到rttread上面。

移植的过程中,遇到了一些问题,比如多线程优先级如何设定,线程如何增加延时,信号量参数设定等等,都是基础问题,学习新内容的时候,就是在学习新的规则,如果想不通,就认为自己在遵守一些规则,而这些规则不以你的想法而改变。

项目用到了编码器,编码器有的转两次一个周期,有的转一次一个周期,这里的处理逻辑要根据硬件不同的情况去编写。在裸机中编码器的代码调试好后,相同的逻辑移植到了rtt上(函数肯定是不同的,但实现目标和逻辑不会变),移植过后发现编码器不好使,但是硬件和应用层逻辑并不存在问题。
查阅资料发现,相同的逻辑在rtt和keil中实现是不同的,忽略了底层的逻辑,因为习惯了应用层的调用。问题出现在了pin设备的中断使能和禁用里面。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在调用 rt_pin_irq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值