飞思卡尔半导体公司
AN2264/D
软件
软件
温度显示模块使用摩托罗拉/ Metrowerks的LIN驱动程序,以便
所有的I / O活动outwith简单的使用应用程序代码处理
“ LIN_GetMsg ()” ,以接收由在车外后视镜的传感器所提供的数据。
使用LIN驱动导致相当简单的应用软件,用于
温度节点。为了给主请求命令帧作出响应(ID
为0x3C ),用户代码必须包括函数void LIN_Command () 。这是,
例如,如何在主会要求所有从节点进入其
低功耗待机模式或“睡眠”模式。在本申请中,休眠模式进入
当没有总线活动与此函数仅仅是一个虚拟而(1) 。
主要的软件流程图,表示在图2和完整代码
在第5上市后的变量已经宣布,在CONFIG和
I / O寄存器初始化。的0x71的CONFIG1值禁用COP
而0x19符号的CONFIG2值配置的MCU作为
MC68HC908AZ60A (而不是一个AS60A ) 。中断使能,使
在LIN驱动,一旦由LIN_init (初始化),可正常工作。主要的while循环
采用可编程中断计时器(PIT ),以促进一个200Hz的重复率
基于一个8MHz晶振。一旦每5ms的PIT溢出标志位被置和
主循环执行到所述二进制输入数据转换成7段的格式。
在200Hz的速率也用于循环轮4的LED数字便利的闪烁
免费50Hz的复用显示器。虽然在LIN缓冲器被读出并在
温度转换成4位7段格式,每一次,只有一个数字
实际上是驱动每5ms 。
LIN驱动功能LIN_IdleClock可以检查是否有任何
总线活动。如果不是递增计数器的值与比较
LIN_IDLETIMEOUT (定义
slave.cfg ) 。
如果这个数字超过了
功能LIN_DriverStatus ( )不再返回1 ( LIN_STATUS_RUN )
这表明在总线已空闲了,在本申请中, 2秒。如果这是
检测时, MC33399的使能引脚被拉低的MCU上电
下来的LT1121的禁用。该代码还设置显示为“ ... ” 。
这是不相关的,在关机的应用程序,但给的指示
检测到空闲状态,在开发环境中的仿真
MCU的功率不是由LT1121控制。在本申请中,还提出
感展现出特殊的显示,如果温度数据没有被提供给
该模块。没有这个加成显示器会继续显示最后
接收到的温度(或-30℃ ,如果没有了上次接收到的功率
向上)。结合使用LIN_MsgStatus字符(0x0A ),此功能被合并
与变量ERROR_COUNT和第二后强制显示为“ ---- ”
未接收到LIN报文与0A的ID (参见图4) 。
执行转换时,温度字节传送到可变
位
并且,如果温度为正时, 60 (30 C° )消减的偏移。这
会导致一个不正确的值下溢
位
如果温度
飞思卡尔半导体公司...
摩托罗拉
LIN结点温度显示
5
欲了解更多有关该产品,
转到: www.freescale.com