资源简介
linux下的CAN驱动程序。分三个文件夹:include,driver,app,分别存放头文件、驱动程序和应用程序。里边还有驱动程序的简要介绍,介绍了驱动程序的组成和编写应用过程。<br>很详细的一份驱动资料。
代码片段和文件信息
#include
#include
//#include
#include
#include
#include
//#include
//#inclued
#include “mcpcan.h“
#include “spi_cmd.h“
#include “def.h“
//#include “2410addr.h“
#include “directio.h“
//#include “option.h“
//#include “2410lib.h“
#define DEBUG
#ifdef DEBUG
#define dbgprintf(S) printf(S)
#else
#define dbgprintf(S)
#endif
int fd;
void send(void * arg)
{
struct mcpcan_data *datagramptr = (struct mcpcan_data *)arg;
while(1)
{
sleep(2);
write(fd datagramptr sizeof(struct mcpcan_data));
printf(“send datagram.\n“);
printf(“the data sended is %s.\n“ datagramptr->data);
}
}
int main()
{
pthread_t id;
int ret;
struct mcpcan_data data_receive;
struct mcpcan_data data_send;
/* 打印提示信息 */
printf(“---can总线测试程序---\n“);
data_send.BufNo = TXBUF0;
data_send.IdType = STANDID;
data_send.id = 23;
data_send.DataLen = 8;
strcpy(data_send.data “-CVTECH-“);
data_receive.BufNo = 0;
data_receive.IdType = 0;
data_receive.id = 0;
data_receive.DataLen = 0;
memset(data_receive.data90x0);
fd = open(“/dev/can“O_RDWR);
if(fd < 0)
{
printf(“Open device failed.\n“);
return fd;
}
printf(“Open device success.\n“);
ret=pthread_create(&idNULL(void *)send &data_send);
if(ret!=0){
printf (“Create pthread error!\n“);
exit (1);
}
printf(“Create pthread success.\n“);
while(1)
{
int datalen;
read(fd &data_receive sizeof(struct mcpcan_data));
printf(“data_receive.BufNo = %d\n“data_receive.BufNo);
printf(“data_receive.IdType = %d\n“data_receive.IdType);
printf(“data_receive.id = %d\n“data_receive.id);
printf(“data_receive.DataLen = %d\n“data_receive.DataLen);
printf(“data_receive.data = %s\n“data_receive.data);
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 445 2006-03-16 08:56 代码\app\Makefile
文件 2157 2006-03-15 18:38 代码\app\cantxrx.c
目录 0 2006-03-15 18:21 代码\app
文件 630 2006-03-16 08:38 代码\driver\Makefile
文件 20271 2006-03-16 08:54 代码\driver\mcpcan.c
文件 16173 2006-03-15 17:07 代码\driver\spi.c
文件 2201 2006-03-15 17:07 代码\driver\spi_cmd.c
目录 0 2006-03-15 18:21 代码\driver
文件 1798 2006-03-16 08:35 代码\include\2410addr.h
文件 3250 2006-03-16 08:35 代码\include\spi.h
文件 5956 2006-03-16 08:41 代码\include\mcpcan.h
文件 1054 2006-03-16 08:35 代码\include\spi_cmd.h
文件 2302 2006-03-16 08:35 代码\include\directio.h
文件 408 2006-03-16 08:35 代码\include\def.h
文件 2195 2006-03-16 08:35 代码\include\2410lib.h
文件 1651 2006-03-16 08:35 代码\include\option.h
文件 3100 2006-03-16 08:35 代码\include\hardware.h
文件 84079 2006-03-16 08:35 代码\include\S3C2410.h
目录 0 2006-03-16 08:37 代码\include
目录 0 2006-03-15 18:21 代码
文件 41984 2006-03-16 08:54 代码\CAN程序说明.doc
文件 630 2006-03-16 08:38 代码\driver\Makefile.txt
----------- --------- ---------- ----- ----
190284 22
- 上一篇:多线程实例:桌面智能弹球小游戏
- 下一篇:DES的C 源码
相关资源
- Linux系统教材
- inject.rar
- vmware虚拟win7网卡驱动
- 基于属性驱动的矿体动态建模
- 蓝牙驱动补丁IVT.BlueSoleil.6.4.240.2.Cra
- lenovo电源管理驱动win10版 v1.67.10.15 官
- 联想sl400笔记本网卡驱动
- HD3000黑苹果显卡驱动MAC版完美
- 爱普生plq22km打印机驱动 v1.00 官方最新
- 基于STM32芯片的SX1278 驱动 LORA.rar
- 适用于STC单片机和51单片机的SX1262驱动
- AMT630A液晶屏驱动
- SX126x_LORA驱动程序(包含完整的工程文
- Intel 82579LM 82579V千兆以太网控制器驱动
- VMware vSphere 的 Intel 82579LM网卡驱动 最
- intel 82579LM 网卡驱动Linux系统版 v1.9.
- imx6q ch452驱动矩阵键盘扫描
- ch452串口键盘驱动程序
- Vxworks下网卡驱动程序的开发
- SX1268官方驱动包含sx1278
- SX1280.rar
- 长城gw1200扫描仪驱动 官方版
- 长城gw-5370tx打印机驱动 官方版
- STM32 DS3231驱动.zip
- SA1110处理器掌上电脑液晶显示器设计
- 三星S19C200NW液晶显示器驱动 v1.0 官方
- 毕索龙bixolon 2478bsc打印机驱动 v4.6.6
- 毕索龙bixolon 3468bsc打印机驱动 v4.6.6
- 矿用多功能网关通信接口设计
- 基于Linux的串口服务器设计
评论
共有 条评论