资源简介
这个是我的一个车机项目中正在使用的LIN代码.MCU是STM32F103使用的是UCOS-II系统.这段代码包括LIN的从模式的初始化、接收、回应等。利用的是串口的LIN模式中断。带有很多中文注释。希望对你有用。
代码片段和文件信息
/*
**********************************************************************************************
* DVG02项目的LIN总线分析文件
* 文件名称: LIN.c
* 版本号 : V0.9
* 编写人 : Rock.Wu
* 编写日期:2012-08-20
**********************************************************************************************
*/
#define LIN_MODULE
/*******************************包含的文件******************************/
#include
#include
#include
/*******************************宏定义************************************/
#define BIT(AB) ((A>>B)&0x01)
#define LIN_RXCMD_BUF_SIZE 5 /*接受缓存大小10个报文*/
/*******************************数据类型定义***************************/
/*******************************变量定义*********************************/
enum LinState{
IDLE
SYNCH
ID_LEN
DATA_GET
CHECKSUM
};
enum LinErrState{
NO_ERR
SYNC_ERR
ID_ERR
CHKSUM_ERR
};
static INT8U AnalysePlus4 = IDLE;
#if (LIN_LEN_MODE == 0)
static const INT8U LIN_Len[4]={2 2 4 8};
#endif
static LINDataType TempLinData;
LINDataType LINRxMsgBuf[LIN_RXCMD_BUF_SIZE];
COMM_LIN_Q LIN_RxMsg;
extern CMD_LINType const LIN_CMD[LIN_ID_NUM];
static INT8U SendDataLen =0;
static INT8U LinSendBuf[9]={000000000};
/*******************************函数声明*********************************/
static void LIN_IRQ_Handler(void);
static void LIN_Rx_Analyse(INT8U LIN_Data);
/******************************************************************************
** 功能描述: 初始化UART4用于与LIN通讯
** 输 入:
** 全局变量: UART1Sem
** 调用模块:
** 编写人 : Rock.Wu
** 编写日期:2012-09-14
*******************************************************************************/
void BSP_LIN_Init(void)
{
USART_InitTypeDef USART_InitStructure;/*串口设置恢复默认参*/
GPIO_InitTypeDef GPIO_InitStructure;
INT8U ij;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOC &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOC &GPIO_InitStructure);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART4 ENABLE);
USART_InitStructure.USART_BaudRate = 19200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(UART4 &USART_InitStructure);
USART_LINBreakDetectLengthConfig(UART4 USART_LINBreakDe
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2552 2012-10-23 10:00 LIN.h
文件 12190 2012-10-23 18:23 LIN.c
- 上一篇:传智播客版俄罗斯方块源代码
- 下一篇:飞机订票系统delphi源代码
相关资源
-
AN_BLE-SDKDH-C1_Teli
nk BLE SDK DeveloperHan - Fabrication and all-optical poling characteris
- Xilinx-FPGA-引脚功能详细介绍.doc
- 基于xilinx FPGA的PCIe设计实战
-
imx6qSBP的jli
nk初始化脚本 - uboot到linux logo显示不间断 补丁
- UNIX/LINUX编程实践教程的源码
- Linux任务管理器
- linux应用层的华容道游戏源代码
- ubuntu9.10 可加载内核模块和字符设备驱
-
simuli
nk 课程设计 qpsk - MP3文件ID3v2ID3v2APEv2标签读取
- UART转CAN或LIN的工具(Uart2any)和文档
- 操作系统实验——虚存管理实验
- linux下的发包工具sendip
- 尚观培训linux许巍关于c 的笔记和讲义
- 尚观培训linux董亮老师关于数据结构的
- linux 线程池源码 c 版
- linux C 电梯程序练习
- linux下用多进程同步方法解决生产者
- Linux 操作系统实验(全)
- Linux From Scratch 中文手册
- linux 网络实验 ftp程序
- Linux命令大全离线版&在线版
- 操作系统共享内存实验
- dos 下运行Linux 命令--gnu_utils
- linux 0.12内核源代码
- linux简易shell C实现
- linux实验报告及心得体会
- 基于GTK的Linux环境下的简易任务管理器
评论
共有 条评论