-
大小: 2.57MB文件类型: .zip金币: 1下载: 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个文件信息
相关资源
- uCOS-II操作系统MC9S12XEP100移植版本(个
- 任哲uCOS-II 最新版书的源代码
- 嵌入式实时操作系统μCOS-II邵贝贝.p
- 任哲嵌入式实时操作系统uCos-ii原理及
- 任哲《嵌入式实时操作系统uCOS-II原理
- uCOS-II 中文手册 高清版 pdf
- uCOS-II官网的
- 嵌入式实时操作系统uCOS-II》(第二版
- MC9S12超详细中文资料
- UCOS-II关键函数流程图
- Micrium_uCOS-III-STM32F107-Eval-Atollic-TrueST
- 官方 uCOS-III 源码
- MC9S12XEP100单片机学习
- 嵌入式实时操作系统ucos-ii
- 邵贝贝《嵌入式实时操作系统uCOS-II》
- uCOS-II移植到PC项目文件使用VS2015,包
- STM32F407 uCOS-III FAT32 I2C LCD SD卡
- 《嵌入式实时操作系统uCOS-II》邵贝贝
- STM32F103 uCOS-II移植源码
- MC9S12G128 UCOS-II移植
- 嵌入式实时操作系统uCOS-II经典——基
- stm32+uCOS-II+uCGUI3.98+FatFS完整开源程序
- 嵌入式实时操作系统μCOS-II原理及应用
- ucos-II在vs2010上移植成功
- uCOS-II官方源代码
- stm32h743 uCOS-iii
- MC9S12XEP100中文数据手册.pdf
- uCOS-III 应用开发指南—基于 STM32F103系
- ucos-iii tm4c
- tm4c ucosii
评论
共有 条评论