156
1488
4435
中级工程师
void hal_i2c0_init(I2C_MemMapPtr p) //Acelerometro { SIM_SCGC4 |= SIM_SCGC4_I2C0_MASK;//打开I2C0的时钟 SIM_SCGC5 |= SIM_SCGC5_PORTE_MASK;//打开PTE的时钟 PORTE_PCR24 = PORT_PCR_MUX(5);//把PTE24复用为SCL PORTE_PCR25 = PORT_PCR_MUX(5);//把PTE25复用为SDA p->F = 0x14; // baudrate p->C1 = 0x80; // enable IIC }
使用特权
void i2c_start(I2C_MemMapPtr p) { p->C1 |= I2C_C1_MST_MASK; p->C1 |= I2C_C1_TX_MASK; }
void i2c_write_byte(I2C_MemMapPtr p, uint8 data) { p->D = data; }
uint8 i2c_read_byte(I2C_MemMapPtr p) { return p->D; }
void i2c_stop(I2C_MemMapPtr p) { p->C1 &= ~I2C_C1_MST_MASK; p->C1 &= ~I2C_C1_TX_MASK; }
113
2865
8691
发表回复 本版积分规则 回帖后跳转到最后一页
人才类勋章
时间类勋章
发帖类勋章
等级类勋章
5
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号