问一个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等等这些又分别代表什么。这两个问题到哪里能找到详细的资料学习。谢谢!!
展开
 我来答
粤琛非z
2012-10-25 · TA获得超过1564个赞
知道小有建树答主
回答量:866
采纳率:100%
帮助的人:612万
展开全部
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是那些寄存器的第几位,看看头文件里的掩模位的声明就明白了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式