關於PxIN的問題

2019-03-24 12:55发布

各位高手你們好;

想要請教一下,PxIN所儲存的值=輸入的值
ex:我由終端機發送0x55,但PxIN顯示出來的值卻是0x13
我是否有哪個地方搞錯了呢?找了好多資訊還是沒有相關的
可否幫我解答呢?謝謝 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
wangfuchong
1楼-- · 2019-03-25 22:22

你什么应用呀?
那你是怎么考虑的?你现在的方案是什么原理?
wstt
2楼-- · 2019-03-25 22:27
我看到你后面说的是模拟串口的做法,利用IO中断加定时器中断的方式模拟串口,最大的可能是定时器定时读取IO电平的时机不对
lavender780510
3楼-- · 2019-03-25 23:25
 精彩回答 2  元偷偷看……
wstt
4楼-- · 2019-03-26 00:29
if(P1IFG&0x10)//確定是P1.4這隻腳為中斷觸發的腳位
  {
    P1IFG&=~0x30;//把中斷標誌清除
    _EINT();//這裡也是打開中斷(老實說我好像不太了解這個指令))
    CCTL0=CCIE;//開啟timer中斷
    CCR0=TAR+(Bitime_5);//這是計時器,一開始先設定在一半的時間進入timer中斷
    TACTL=TASSEL_2 + MC_2;//調整時間寄存器的,選擇8M HZ的震盪器與連續的時間計算
    LPM0;//低眠模式(我也不太知道他到底要幹嘛,只知道沒他動不了)

    P1IE&=~0x10;//關閉中斷
  }
以上代码我修改下:
if(P1IFG&0x10)//確定是P1.4這隻腳為中斷觸發的腳位
  {
   P1IFG&=~BIT4;
   // _EINT();//這裡也是打開中斷(老實說我好像不太了解這個指令))

    CCTL0=CCIE;//開啟timer中斷
    CCR0=TAR+(Bitime_5);//這是計時器,一開始先設定在一半的時間進入timer中斷
    TACTL=TASSEL_2 + MC_2;//調整時間寄存器的,選擇8M HZ的震盪器與連續的時間計算
   // LPM0;//低眠模式(我也不太知道他到底要幹嘛,只知道沒他動不了)

    P1IE&=~0x10;//關閉中斷
  }

_BIS_SR(LPM0_bits+GIE);//進入全域中斷
wstt
5楼-- · 2019-03-26 03:09
_BIS_SR(LPM0_bits+GIE);//進入全域中斷
这句是main里面的
wstt
6楼-- · 2019-03-26 03:14
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章