|
写多个字节
3.1代码实现
[cpp] view plain copy
在CODE上查看代码片派生到我的代码片
uint8_teeprom_writepage( uint8_t word_addr, uint8_t *pword_buf, uint8_t len)
{
while( UCB0CTL1& UCTXSTP );
UCB0CTL1 |= UCTR; // 写模式
UCB0CTL1 |= UCTXSTT; // 发送启动位
UCB0TXBUF = word_addr; // 发送字节地址
// 等待UCTXIFG=1与UCTXSTT=0 同时变化等待一个标志位即可
while(!(UCB0IFG& UCTXIFG))
{
if( UCB0IFG& UCNACKIFG ) // 若无应答 UCNACKIFG=1
{
return 1;
}
}
for( uint8_t i= 0; i < len; i++)
{
UCB0TXBUF = *pword_buf++; // 发送寄存器内容
while(!(UCB0IFG& UCTXIFG)); // 等待UCTXIFG=1
}
UCB0CTL1 |= UCTXSTP;
while(UCB0CTL1& UCTXSTP); // 等待发送完成
return 0;
}
3.2 代码分析
多字节写函数和单字节写函数相似,不做过多的解释。
|
|