-
大小: 2.57MB文件类型: .zip金币: 2下载: 0 次发布日期: 2023-09-20
- 语言: 其他
- 标签: IIC总线 MC9S12XEP100 uCOS-II
资源简介
此为本人写的MC9S12XEP100的IIC模块的硬件驱动程序。具体参照博文https://blog.csdn.net/lin_strong/article/details/80327959,如后续有更新代码或勘误,请直接到博文里查阅,好像CSDN不允许更新/删除资源。其中包含了驱动代码以及示例代码,示例代码包括裸奔程序的示例以及uCOS-II下的示例。
注意,代码中的裸奔程序的那个示例直接运行时会跑飞,需要在IIC.h文件中的void near IIC_ISR(void);这个声明前加一个interrupt才行。 在运行基于uCOS的那个示例时又得把这个interrupt去掉才行。
暂时没有找到能够很方便地切换中断声明的方法。

代码片段和文件信息
/*
*******************************************************************************************
*
*
* IIC SUPPORT PACKAGE
* Freescale MC9S12XEP100
* 飞思卡尔 MC9S12XEP100 IIC支持包
*
* File : IIC.c
* By : Lin Shijun(http://blog.csdn.net/lin_strong)
* Date: 2018/05/15
* version: V1.1
* History: 2018/05/07 V1.0 the prototype
* 2018/05/15 V1.1 add the slave part of IIC.
* add the functions register so user can change the behaviour
* of the module.
* NOTE(s): 1. don‘t support 10-bit address for now.
* 2. this module is ISR-drived so you must point the IIC_ISR to the corresponding
* address and enable interrupt.
* 3. note that the funcitons in this module is not thread-safe.
*********************************************************************************************
*/
/*
*********************************************************************************************************
* INCLUDES
*********************************************************************************************************
*/
#include
#include “IIC.h“
/*
*********************************************************************************************************
* CONSTANT
*********************************************************************************************************
*/
#define ISR_ERR_NULL 0 // 正常处理完毕
#define ISR_SENDOK 1
#define ISR_ERR_NOACK 2
#define ISR_RECVOK 3
#define ISR_ERR_IBAL 4
/*
*********************************************************************************************************
* LOCAL FUNCTION DECLARATION
*********************************************************************************************************
*/
// 发起启动条件,默认当前为从机模式,如总线忙则会返回错误,后面需要软件查看IBIF来看是否成功
// CalAddr:主叫地址(D0:R/W)
static unsigned char _IIC_StartCondtion(unsigned char CalAddr);
// 默认的等待函数无限等待
static unsigned char _IIC_Wait(unsigned long wCnt){ return TRUE;}
static unsigned char _sem;
// 默认使用的信号量函数
static unsigned char _IIC_SemPend(void){
while(_sem == 0); // 等待中断发来结果
_sem--;
return TRUE;
}
static void _IIC_SemPost(void){ _sem++;}
static void _IIC_SemReset(void){ _sem = 0;}
/*
*********************************************************************************************************
* LOCAL VARIABLE
*********************************************************************************************************
*/
static unsigned char* pTxRxBuf; // 指向主机使用的缓冲区
static unsigned short TxCnt; // 等待发送的字节个数
#define _LastByteTransmitted() (TxCnt == 0)
#define _SendNextByte() {TxCnt--; IIC0_IBDR = *pTxRxBuf++;} // 发送下一个字节
static unsigned short
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14030 2018-05-15 20:28 IIC.c
文件 6768 2018-05-15 20:26 IIC.h
目录 0 2018-05-15 20:18 IIC_Comm\
目录 0 2018-05-15 20:18 IIC_Comm\bin\
文件 417185 2018-05-15 20:18 IIC_Comm\bin\Project.abs
文件 2320 2018-05-15 20:18 IIC_Comm\bin\Project.abs.glo
文件 2306 2018-05-15 20:18 IIC_Comm\bin\Project.abs.s19
文件 248112 2018-05-15 20:18 IIC_Comm\bin\Project.map
文件 855 2018-05-15 12:53 IIC_Comm\C_Layout.hwl
目录 0 2018-05-15 12:53 IIC_Comm\cmd\
文件 1514 2018-05-15 12:53 IIC_Comm\cmd\TBDML_Erase_unsecure_hcs12xe.cmd
文件 59 2018-05-15 12:53 IIC_Comm\cmd\TBDML_Postload.cmd
文件 60 2018-05-15 12:53 IIC_Comm\cmd\TBDML_Preload.cmd
文件 60 2018-05-15 12:53 IIC_Comm\cmd\TBDML_Reset.cmd
文件 59 2018-05-15 12:53 IIC_Comm\cmd\TBDML_Startup.cmd
文件 77 2018-05-15 12:53 IIC_Comm\cmd\TBDML_Vppoff.cmd
文件 78 2018-05-15 12:53 IIC_Comm\cmd\TBDML_Vppon.cmd
文件 161 2004-06-15 15:46 IIC_Comm\Default.mem
文件 59809 2018-05-15 14:32 IIC_Comm\IIC_Comm.mcp
目录 0 2018-05-15 12:53 IIC_Comm\IIC_Comm_Data\
文件 4313 2018-05-15 20:18 IIC_Comm\IIC_Comm_Data\CWSettingsWindows.stg
目录 0 2018-05-15 12:53 IIC_Comm\IIC_Comm_Data\Standard\
目录 0 2018-05-15 16:01 IIC_Comm\IIC_Comm_Data\Standard\ob
文件 14293 2018-05-15 12:53 IIC_Comm\IIC_Comm_Data\Standard\ob
文件 16840 2018-05-15 20:18 IIC_Comm\IIC_Comm_Data\Standard\ob
文件 13384 2018-05-15 20:18 IIC_Comm\IIC_Comm_Data\Standard\ob
文件 415520 2018-05-15 12:53 IIC_Comm\IIC_Comm_Data\Standard\ob
文件 5921 2018-05-15 12:53 IIC_Comm\IIC_Comm_Data\Standard\ob
文件 1577897 2018-05-15 20:18 IIC_Comm\IIC_Comm_Data\Standard\TargetDataWindows.tdt
目录 0 2018-05-15 12:53 IIC_Comm\prm\
文件 10141 2018-05-15 12:53 IIC_Comm\prm\burner.bbl
............此处省略152个文件信息
相关资源
- ucosII源代码 2.9版本全 Micrium-uCOS-II-V
- 嵌入式实时操作系统ucos-II 第二版 源
- uCOS-III+STemWin+Fatfs+usb在STM32F407上成功移
- stm32 贪吃蛇
- uCOS-II(邵贝贝).pdf
- uCOS-III中文手册[高清带书签].pdf
- uCOS-III内核实现与应用开发实战指南—
- uCOS-III 3.04 +uc-USBD for STM32F4
- STM32F103+ucos-III+ESP8266代码
- ucos-ii全部源代码
- uCOS-II 在Freescale MC9S08DZ60和MC9S12XEP100上
- uCOS-II 在Freescale MC9S08DZ60和MC9S12XEP100上
- 任哲-嵌入式实时操作系统μCOS-II原理
- STM32在uCOS-II串口通信工程
- uCOS-II移植STM32,带有4路PWM输出
- MC9S12XEP100单片机程序
- ucos-iii代码
- uCOS源代码 PC机上移植范例 邵贝贝 书
- 基于UCOS-III的雷电传奇小游戏
- uCOS-III 嵌入式实时操作系统中文版.
- uCOS-II操作系统MC9S12XEP100移植版本(个
- 任哲uCOS-II 最新版书的源代码
- 嵌入式实时操作系统μCOS-II邵贝贝.p
- 任哲嵌入式实时操作系统uCos-ii原理及
- 任哲《嵌入式实时操作系统uCOS-II原理
- uCOS-II 中文手册 高清版 pdf
- uCOS-II官网的
- 嵌入式实时操作系统uCOS-II》(第二版
- MC9S12超详细中文资料
- UCOS-II关键函数流程图
评论
共有 条评论