• 大小: 27KB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2021-05-10
  • 语言: 其他
  • 标签: TM4C  例程  

资源简介

最常用例程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个文件信息

评论

共有 条评论