资源简介
最常用例程TM4C123GH6PM,按键、pwm、i2c、timer、mpu6050、hmc5983等。
代码片段和文件信息
#include “I2CM.H“
uint32_t gui32base;
void I2C_Init(uint32_t ui32base)
{
gui32base = ui32base;
if(gui32base == I2C0_base)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C0);
SysCtlPeripheralReset(SYSCTL_PERIPH_I2C0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
GPIOPinConfigure(GPIO_PB2_I2C0SCL);
GPIOPinConfigure(GPIO_PB3_I2C0SDA);
GPIOPinTypeI2C(GPIO_PORTB_base GPIO_PIN_3);
GPIOPinTypeI2CSCL(GPIO_PORTB_base GPIO_PIN_2);
}
I2CMasterInitExpClk(gui32base SysCtlClockGet() false);
}
//单字节写数据函数
uint32_t IIC_WriteDataByte(uint8_t DevAdduint8_t Addressuint8_t Data)
{
uint32_t ui32index = 0;
I2CMasterSlaveAddrSet(gui32base DevAdd false);
I2CMasterDataPut(gui32base Address);
I2CMasterControl(gui32base I2C_MASTER_CMD_BURST_SEND_START);
ui32index = 0;
while(I2CMasterBusy(gui32base))
{
SysCtlDelay(SysCtlClockGet()/3000000);
ui32index++;
if(ui32index > 10000)
{
I2C_Init(gui32base);
return 1;
}
}
I2CMasterDataPut(gui32base Data);
I2CMasterControl(gui32base I2C_MASTER_CMD_BURST_SEND_CONT);
ui32index = 0;
while(I2CMasterBusy(gui32base))
{
SysCtlDelay(SysCtlClockGet()/3000000);
ui32index++;
if(ui32index > 10000)
{
I2C_Init(gui32base);
return 1;
}
}
I2CMasterControl(I2C0_base I2C_MASTER_CMD_BURST_SEND_STOP);
while(I2CMasterBusy(gui32base))
{
SysCtlDelay(SysCtlClockGet()/3000000);
ui32index++;
if(ui32index > 10000)
{
I2C_Init(gui32base);
return 1;
}
}
while(I2CMasterBusBusy(gui32base))
{
if(I2CMasterErr(gui32base) != 0x00)
{
I2CMasterIntClear(gui32base);
I2C_Init(gui32base);
return 2;
}
}
return 0;
}
//多字节写数据函数
// return 1Busy error.
// return 2BusBusy error.
uint32_t IIC_WriteData(uint8_t DevAdduint8_t Addressuint8_t Data[]uint8_t Num)
{
uint32_t ui32index = 0cnt;
//先发送在地址
I2CMasterSlaveAddrSet(gui32base DevAdd false);
I2CMasterDataPut(gui32base Address);
I2CMasterControl(gui32base I2C_MASTER_CMD_BURST_SEND_START);
ui32index = 0;
while(I2CMasterBusy(gui32base))
{
SysCtlDelay(SysCtlClockGet()/3000000);
ui32index++;
if(ui32index > 10000)
{
I2C_Init(gui32base);
return 1;
}
}
for(cnt = 0; cnt < Num; cnt++)
{
I2CMasterDataPut(gui32base Data[cnt]);
I2CMasterControl(gui32base I2C_MASTER_CMD_BURST_SEND_CONT);
ui32index = 0;
while(I2CMasterBusy(gui32base))
{
SysCtlDelay(SysCtlClockGet()/3000000);
ui32index++;
if(ui32index > 10000)
{
I2C_Init(gui32base);
return 1;
}
}
}
I2CMasterControl(gui32base I2C_MASTER_CMD_BURST_SEND_STOP);
ui32index = 0;
while(I2CMasterBusy(gui32base))
{
SysCtlDelay(SysCtlClockGet()/3000000);
ui32index++;
if(ui32index > 10000)
{
I2C_Init(gui32base);
return 1;
}
}
while(I2CMasterBusBusy(gui32base))
{
if(I2CMasterErr(gui32base) != 0x00)
{
I2CMasterIntClear(gui32base);
I2C_Init(gui32base);
r
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5642 2014-07-30 08:48 TI Program\4pwm加8按键.txt
文件 1017 2014-07-29 15:03 TI Program\GPIO-pf4按键输入.txt
文件 815 2014-07-27 17:05 TI Program\GPIO.txt
文件 1029 2014-08-03 09:40 TI Program\GPIO带P4按键.txt
文件 918 2014-08-10 15:17 TI Program\HMC5983+模拟i2c.h
文件 8956 2014-08-10 15:16 TI Program\HMC5983+模拟i2c.txt
文件 377 2014-08-25 16:11 TI Program\HMC5983+硬件i2c.h
文件 2926 2014-08-25 16:10 TI Program\HMC5983+硬件i2c.txt
文件 995 2017-05-18 20:18 TI Program\I2CM.h
文件 1797 2014-12-17 21:14 TI Program\lcd1602.h
文件 5729 2014-12-17 21:14 TI Program\lcd1602.txt
文件 10506 2014-08-03 15:40 TI Program\mpu6050模拟i2c\MPU6050+模拟i2c.txt
文件 2293 2014-08-03 14:05 TI Program\mpu6050模拟i2c\MPU6050.h
文件 6482 2014-08-15 17:54 TI Program\mpu6050硬件i2c\I2CM.c
文件 995 2017-05-18 20:27 TI Program\mpu6050硬件i2c\I2CM.h
文件 271 2014-08-15 17:33 TI Program\mpu6050硬件i2c\main.c
文件 2728 2017-05-18 20:24 TI Program\mpu6050硬件i2c\MPU6050.c
文件 2135 2017-05-18 20:24 TI Program\mpu6050硬件i2c\MPU6050.h
文件 2848 2014-07-29 13:09 TI Program\pwm-pb4~7启动电调.txt
文件 2413 2014-07-29 10:58 TI Program\pwm.txt
文件 2513 2016-02-09 16:37 TI Program\pwm设置及测试.txt
文件 2079 2014-08-21 12:28 TI Program\timer0+timer1.txt
文件 1245 2016-02-01 00:02 TI Program\timer0.txt
文件 1406 2014-07-30 14:28 TI Program\UART.txt
文件 1406 2014-07-30 14:28 TI Program\UART0(PA0PA1).txt
文件 1385 2014-12-15 16:22 TI Program\UART1(PB0PB1).txt
文件 1497 2014-07-29 10:55 TI Program\用timer0写电调启动.txt
文件 7356 2014-08-25 20:46 TI Program\硬件I2C0+I2C1.txt
文件 7356 2014-08-25 15:58 TI Program\硬件I2C0+I2C3.txt
文件 2008 2016-02-06 18:33 TI Program\超声波测距(双边沿检测版.txt
............此处省略7个文件信息
- 上一篇:FxVideo播放Vungle的单例类
- 下一篇:RSA数字签名源程序
相关资源
- 易语言Beep应用例程源码
- SCI串口中断接收发送例程
- STM8S例程,基于IAR下的STM8S例程
- 安富莱STM32开发板资料
- 通用LED显示屏控件Delphi开发例程源码
- 易语言图片放大
- STM32F207学习板例程
- STM32例程之Bootloader
- W5500程序例程
- 易语言例程简单的注册与登录窗口源
- FPGA最全面的VHDL例程源码
- keithley2002 example
- 基于Verilog的cordic反正切FPGA例程
- MSP430系列单片机例程(msp430f235)
- RC522&STM32刷卡例程
- 基于M0的LPC11C14射频模块例程
- nec78系列单片机例程
- FPGA例程大全
- 收发短信,短信控制LED51单片机例程
- Xilinx FPGA 例程,NAND
- 单片机modbus例程解析
- GY-291 ADXL345模块资料 例程
- 易语言写共享内存源码易语言读共享
- 易语言共享内存重复运行例程源码易
- SIM7600 应用例程
- 易语言取系统字体字号模块例程源码
- 易语言数字组合例程源码
- 16进制转10进制例程 十六进制转十进制
- 0.96OLED_C51系列_IIC应答_例程
- 中国移动 M5310 模组资料 DEMO 例程- S
评论
共有 条评论