-
Arms3c44b0 bought their own development board attached demo program can be run d...
自己买的arms3c44b0开发板附带的demo程序,可直接在ADS上跑,可供朋友们借鉴-Arms3c44b0 bought their own development board attached demo program can be run directly in the ADS for friends learn from
- 2023-02-13 14:45:04下载
- 积分:1
-
arm架构的说明,比较详细的一个文档
arm架构的说明,比较详细的一个文档-arm structure of the note, a more detailed document
- 2022-05-18 10:36:39下载
- 积分:1
-
RVDS4.0专业版 试用license
RVDS4.0专业版 试用license
-RVDS4.0 Pro Trial license
- 2022-04-21 03:56:04下载
- 积分:1
-
S3C44B0X通过ADS7846驱动触摸屏程序
S3C44B0X通过ADS7846驱动触摸屏程序-S3C44B0X through the ADS7846 touch screen driver program
- 2023-03-08 14:55:03下载
- 积分:1
-
控制EASYARM2200教学实验平台上的蜂鸣器报警
控制EASYARM2200教学实验平台上的蜂鸣器报警-Control EASYARM2200 teaching experiment platform buzzer alarm
- 2022-07-21 06:39:00下载
- 积分:1
-
860最小系统的bsp,使用tornado2.0编译,需要解压在 ornado argetconfig目录下使用。...
860最小系统的bsp,使用tornado2.0编译,需要解压在 ornado argetconfig目录下使用。-860 smallest BSP system, the use of tornado2.0 built, the need to extract tornado target config directory use.
- 2022-06-02 15:31:01下载
- 积分:1
-
ttytest―HHARM9200.rar 华恒AT91rm9200串口的测试源代码
ttytest―HHARM9200.rar 华恒AT91rm9200串口的测试源代码-ttytest- HHARM9200.rar huaheng AT91rm9200 serial test source code
- 2022-04-26 23:36:44下载
- 积分:1
-
Intel PXA270平台,程序员的工具程式
intel ,pxa270 平台的烧写工具,通过rndis-intel, pxa270 platform programmer tool rndis
- 2022-08-05 10:45:43下载
- 积分:1
-
NUCLEUS PLUS operating system in the STR710 arm transplant code
NUCLEUS PLUS操作系统在STR710 arm上的移植代码-NUCLEUS PLUS operating system in the STR710 arm transplant code
- 2022-10-18 00:50:03下载
- 积分:1
-
绝对原创,开源一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