13226|10

275

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

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

执行  temp=(temp<<1);
temp中最高位移到CY中,但是如何将其值读到某个指定I/O脚上(例如P1.1),并输出?

最新回复

  按照IAR的语法来写就行,一个判断,然后相应清零置位。  详情 回复 发表于 2010-7-15 10:22
 
点赞 关注
个人签名做自己喜欢的设计就是一种幸福~~~

回复
举报

2751

帖子

0

TA的资源

裸片初长成(初级)

沙发
 
转成用与+判断来执行,何如?一般用C好像没有实现汇编的带进位标志的移位。
 
 

回复

275

帖子

0

TA的资源

纯净的硅(中级)

板凳
 
我想尝试用I/O串行的将数据输出~~~
是这样吗
  P1OUT |= (BIT1&C)?
貌似 不行啊!
 
个人签名做自己喜欢的设计就是一种幸福~~~
 
 

回复

275

帖子

0

TA的资源

纯净的硅(中级)

4
 
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没输出啊!

继续求教~~~~
   该如何编写啊~~
 
个人签名做自己喜欢的设计就是一种幸福~~~
 
 

回复

275

帖子

0

TA的资源

纯净的硅(中级)

5
 
*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;的话不是应该输出等间隔的方波吗?
 
个人签名做自己喜欢的设计就是一种幸福~~~
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

6
 

原帖由 Leo417love 于 2010-7-14 10:37 发表 *ptr = temp; tmp = (temp&0x80); if(tmp==0x80) SET_P1_0; if(tmp==0x00) CLR_P1_0; temp = *ptr; temp = (temp

 

//假定temp是要输出的

for(i=0;i<7;i++)

{

    if(temp&0x80)

    {

        SET_P1_0;

    }

    else

    {

        CLR_P1_0;

    }

    temp = (temp<<1);

    delay(100);//延时,观察效果

}

 
 
 

回复

370

帖子

0

TA的资源

纯净的硅(中级)

7
 

不知C语言如何写.

用汇编写个小函数可能快一点.
 
 
 

回复

275

帖子

0

TA的资源

纯净的硅(中级)

8
 

回复 6楼 David_Lee 的帖子

else 处报错  无法通过编译(IAR编译器)
Error[Pe127]: expected a statement F:\MSP code\MSP_test\main.c 28
 
个人签名做自己喜欢的设计就是一种幸福~~~
 
 

回复

277

帖子

0

TA的资源

五彩晶圆(中级)

9
 

没用过430,这样的问题,用汇编很容易解决,汇编中一般都有判断CY位的指令。如果用C语言,不太好办,提供一个思路,一般当一个运算溢出时,才会有C。所以当两个char型变量运算时可以赋给一个整型变量,然后判断这个整型变量是否大于255,如果是,则相应管脚置1,否则,清0。但是不是两个char型变量运算呢?我就不知道了,请别的朋友作答吧。

 
 
 

回复

277

帖子

0

TA的资源

五彩晶圆(中级)

10
 

针对你说的这种情况,可以这样处理,先判断最高位是否为1(可以用“位与”指令),如果是,相应位置1,否则,清0,然后再左移该变量,重复这样做。而不去判断CY位。

 同6楼。

[ 本帖最后由 thtlj 于 2010-7-15 09:08 编辑 ]
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

11
 

原帖由 Leo417love 于 2010-7-14 20:16 发表 else 处报错 无法通过编译(IAR编译器) Error[Pe127]: expected a statement F:\MSP code\MSP_test\main.c 28

 

按照IAR的语法来写就行,一个判断,然后相应清零置位。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表