问一个MSP430 C语言编程的问题,希望高手帮下忙。 我刚学这个,一头雾水。
比如下面这段初始化的程序:voidCOM_Init(void){//---------------------------------串口初始化函数U0CTL&=~SWR...
比如下面这段初始化的程序:
void COM_Init(void)
{//---------------------------------串口初始化函数
U0CTL &= ~SWRST;
U0TCTL&=~TXWAKE;
U0CTL|=CHAR+MM;//8bit+地址位多机协议
IFG1&=~(URXIFG0+UTXIFG0);//接收,发送中断标志清零
ME1|=(UTXE0+URXE0); //使能接收和发送中断
U0TCTL|=SSEL0+SSEL1; //时钟选择--MCLK
UBR10=0x04;//6M/4800
UBR00=0xe2;
UMCTL0=0x00;//波特率调整控制
IE1|=URXIE0;//使能接收中断
URCTL0|=URXWIE;//只有收到地址字符时才永许中断
}
我想知道程序中"&= ~" "|=" 这些符号是什么意思,U0CTL,SWRST等等这些又分别代表什么。这两个问题到哪里能找到详细的资料学习。谢谢!! 展开
void COM_Init(void)
{//---------------------------------串口初始化函数
U0CTL &= ~SWRST;
U0TCTL&=~TXWAKE;
U0CTL|=CHAR+MM;//8bit+地址位多机协议
IFG1&=~(URXIFG0+UTXIFG0);//接收,发送中断标志清零
ME1|=(UTXE0+URXE0); //使能接收和发送中断
U0TCTL|=SSEL0+SSEL1; //时钟选择--MCLK
UBR10=0x04;//6M/4800
UBR00=0xe2;
UMCTL0=0x00;//波特率调整控制
IE1|=URXIE0;//使能接收中断
URCTL0|=URXWIE;//只有收到地址字符时才永许中断
}
我想知道程序中"&= ~" "|=" 这些符号是什么意思,U0CTL,SWRST等等这些又分别代表什么。这两个问题到哪里能找到详细的资料学习。谢谢!! 展开
展开全部
msp430不能直接用位操作,所以给某个寄存器的某一位赋0或赋1就只能用逻辑运算来完成,例如P1OUT |= BIT0是将P1OUT的第0位置1,P1OUT &= ~BIT2是将P1OUT的第二位清零,看你程序里的这两句:
IFG1&=~(URXIFG0+UTXIFG0); // 这一句的意思是将IFG1寄存器里的URXIFG0和UTXIFG0位清零
IE1|=URXIE0; // 这一句是将IE1寄存器里的URXIE0位置1
具体URXIIFG0,UTXIFG0,URXIE0是那些寄存器的第几位,看看头文件里的掩模位的声明就明白了。
IFG1&=~(URXIFG0+UTXIFG0); // 这一句的意思是将IFG1寄存器里的URXIFG0和UTXIFG0位清零
IE1|=URXIE0; // 这一句是将IE1寄存器里的URXIE0位置1
具体URXIIFG0,UTXIFG0,URXIE0是那些寄存器的第几位,看看头文件里的掩模位的声明就明白了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询