-
绝对原创,开源一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
-
FPGA digital electronic systems design and development of CD
FPGA数字电子系统设计与开发实例导航光盘内附源码-FPGA digital electronic systems design and development of CD-ROM containing source code examples of navigation
- 2022-03-17 05:52:47下载
- 积分:1
-
基于三星的44b0或2410微处理器的闪存控制程序
基于三星的44b0或2410微处理器的闪存控制程序-44b0-based Samsung
- 2022-12-11 07:55:03下载
- 积分:1
-
This a example for LPC2110
龙版8.0端源代码,一直收藏中。第1次放出-Liuzhou version 8.0 client source code, has collections. 1st release
- 2022-02-14 16:58:59下载
- 积分:1
-
周立功EASY2200开发板原理图,pdf
周立功EASY2200开发板原理图,pdf-EASY2200 sch
- 2023-03-27 17:35:04下载
- 积分:1
-
刚学ARM9 Linux LCD 开发的朋友,不妨试下这个例子,对你学习有帮助,测OK
刚学ARM9 Linux LCD 开发的朋友,不妨试下这个例子,对你学习有帮助,测OK-ARM9 Linux LCD just learning to develop friends, may wish to try this next example, you have to learn to help test OK
- 2022-05-24 12:58:18下载
- 积分:1
-
msp430fe427登记定义头文件定义HEA MSP430FE427登记…
MSP430FE427头文件寄存器定义
MSP430FE427头文件寄存器定义
MSP430FE427头文件寄存器定义-MSP430FE427 register definition header files MSP430FE427 register definition header files MSP430FE427 register definition header files
- 2023-06-26 05:55:03下载
- 积分:1
-
This is the week of meritorious service
这是周立功的《深入浅出arm7》的书的pdf,包括上下两册,供初学者使用。-This is the week of meritorious service
- 2023-03-15 21:35:04下载
- 积分:1
-
关于周立公USB试验的改进程序,实现了文件的读写,并且将读文件在写道U盘
关于周立公USB试验的改进程序,实现了文件的读写,并且将读文件在写道U盘-Zhou USB test on the public improvement process, the realization of the document to read and write, and read documents, wrote U disk
- 2023-07-05 12:45:03下载
- 积分:1
-
8051系列教程范例
8051系列教程范例 -8051 Series 8051 Series Tutorial Tutorial Example Example
- 2022-01-26 15:08:43下载
- 积分:1