请问MSP430如何将CY(进位标志位)里面的内容读到某个I/O脚上,并输出?

2019-03-24 16:34发布

执行  temp=(temp<<1);
temp中最高位移到CY中,但是如何将其值读到某个指定I/O脚上(例如P1.1),并输出? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
David_Lee
1楼-- · 2019-03-24 23:11
转成用与+判断来执行,何如?一般用C好像没有实现汇编的带进位标志的移位。
Leo417love
2楼-- · 2019-03-25 00:19
 精彩回答 2  元偷偷看……
Leo417love
3楼-- · 2019-03-25 00:55
uchar    j,temp=0xaa;   
  temp = (temp<<1);
      if(C )
        P1OUT |= BIT0;
      else
        P1OUT &= ~BIT0;
if(j == 0) {j = 8 ; temp = 0xaa;}
这样写编译有错

   if(C == 1)
        P1OUT |= BIT0;
      if(C == 0)
        P1OUT &= ~BIT0;
if(j == 0) {j = 8 ; temp = 0xaa;}
这样写编译过了,但是P1.0没输出啊!

继续求教~~~~
   该如何编写啊~~
Leo417love
4楼-- · 2019-03-25 05:28
*ptr = temp;
      tmp = (temp&0x80);
      if(tmp==0x80)
        SET_P1_0;
      if(tmp==0x00)
        CLR_P1_0;
      temp = *ptr;
      temp = (temp<<1);
如此P1.0有输出,但不是我设置的数呀!
temp=0xaa;的话不是应该输出等间隔的方波吗?
David_Lee
5楼-- · 2019-03-25 08:35
 精彩回答 2  元偷偷看……
qushaobo
6楼-- · 2019-03-25 10:06
用汇编写个小函数可能快一点.

一周热门 更多>

相关问题

    相关文章