資源簡介
最常用例程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);
}
//單字節(jié)寫數(shù)據(jù)函數(shù)
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;
}
//多字節(jié)寫數(shù)據(jù)函數(shù)?
//??return?1Busy?error.
//??return?2BusBusy?error.
uint32_t?IIC_WriteData(uint8_t?DevAdduint8_t?Addressuint8_t?Data[]uint8_t?Num)
{
uint32_t?ui32index?=?0cnt;
//先發(fā)送在地址
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? {
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
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????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啟動(dòng)電調(diào).txt
?????文件???????2413??2014-07-29?10:58??TI?Program\pwm.txt
?????文件???????2513??2016-02-09?16:37??TI?Program\pwm設(shè)置及測(cè)試.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寫電調(diào)啟動(dòng).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\超聲波測(cè)距(雙邊沿檢測(cè)版.txt
............此處省略7個(gè)文件信息
- 上一篇:FxVideo播放Vungle的單例類
- 下一篇:RSA數(shù)字簽名源程序
評(píng)論
共有 條評(píng)論