-
绝对原创,开源一STM32项目,CAN,UART,Input检测 原创相对高效性能与代码重用平衡思路(缓冲队列加软中断),可直接做工程模板
1、CAN收发队列
使用内存FIFO缓冲CAN帧,适合大数据量通信;并使用内部软中断处理CAN数据,相当于事件响应,综合应该比查询方式节省不少时间,也应该比OS调度省点时间。Can.C:底层处理,Communi.C:与应用层高相关。 应用层处理流程用函数指针表的方式调用减少代码量及阅读整齐;实现CAN各种错误记录机制。已初步测试,该机制可用。
CAN处理流程:
接收:CAN1_RX0_IRQHandler_Name (void), CAN1_RX1_IRQHandler(void)
接收中断,CAN_QueueWriteQuick()将当前的有效报文压入内存FIFO,压入的数据为整个CAN邮箱数据,所以后续的处理函数可以分辨出完整的数据。
void CAN1_RX0_IRQHandler_Name (void) // CAN1_RX0_IRQHandler_Name
{
/*
FIFO从空状态开始,在接收到第一个有效的报文后,FIFO状态变为挂号_1(pending_1),
硬件相应地把CAN_RFR寄存器的FMP[1:0]设置为’01’(二进制01b)。
软件可以读取FIFO输出邮箱来读出邮箱中的报文,然后通过对CAN_RFR寄存器的RFOM位
设置’1’来释放邮箱,这样FIFO又变为空状态了。如果在释放邮箱的同时,
又收到了一个有效的报文,那么FIFO仍然保留在挂号_1状态,软件可以读取FIFO
输出邮箱来读出新收到的报文。
如果应用程序不释放邮箱,在接收到下一个有效的报文后,FIFO状态变为
挂号_2(pending_2),硬件相应地把FMP[1:0]设置为’10’(二进制10b)。
重复上面的过程,第三个有效的报文把FIFO变为挂号_3状态(FMP[1:0]=11b)。
此时,软件必须对RFOM位设置1来释放邮箱,以便FIFO
- 2022-03-21 07:31:29下载
- 积分:1
-
ARM的调试下载工具H
ARM的调试下载工具H-JTAG V0.9.0,H-JTAG是一款简单易用的的调试代理软件,包括两个工具软件:H-JTAG SERVER和 H-FLASHER。其中,H-JTAG SERVER实现调试代理的功能,而 H-FLASHER则实现了 FLASH烧写的功能。-ARM debug tools download H-JTAG V0.9.0, H-JTAG is a easy-to-use software debug agent, which includes two tools: H-JTAG SERVER and H-FLASHER. One, H-JTAG SERVER debug agent functions, and H-FLASHER is a FLASH programmer functions.
- 2022-02-16 00:25:16下载
- 积分:1
-
pic18f97j_iic
pic18 单片机IIC 24C02,以前网上看到的模拟IIC的多,这份为PIC内部硬件,可以参考下,包含I2C写入数由硬件自动清零
- 2022-01-28 03:12:29下载
- 积分:1
-
用811实现的ARM7的USB主机详细程序
用811实现的ARM7的USB主机详细程序-With 811 of the ARM7 realize the USB host detailed procedures
- 2022-10-09 23:30:03下载
- 积分:1
-
Basic project for incubator (Thermo+regulator)
Basic project for incubator (Thermo+regulator)-Basic project for incubator (Thermo+regulator)
- 2022-10-03 20:30:03下载
- 积分:1
-
ARM Bootloader source code Ver1.1.0
ARM Boot 程序源码 1.1.0.rar-ARM Bootloader source code Ver1.1.0
- 2022-03-20 12:51:13下载
- 积分:1
-
基于44B03的LCD驱动
基于44B03的LCD驱动-based on the LCD driver 44B03
- 2022-04-20 05:47:23下载
- 积分:1
-
arm c div
arm c div
- 2022-01-25 16:58:42下载
- 积分:1
-
ZLG基于IAR的1700demo,可作为入门基础指导程序
ZLG基于IAR的1700demo,可作为入门基础指导程序-ZLG based on IAR" s 1700demo, could serve as a Getting Started guide program
- 2022-05-16 23:48:00下载
- 积分:1
-
基于mips架构的ATI
基于mips架构的ATI-XILLEON 226的mp3解码程序-Mips architecture based on the ATI-XILLEON 226
- 2022-06-12 20:45:00下载
- 积分:1