Re: [問題] 如何把暫存器SBUF的資料讀出來?(keil C)
看板C_and_CPP (C/C++)作者billy00685 (milano)時間12年前 (2013/12/24 19:43)推噓3(3推 0噓 9→)留言12則, 5人參與討論串3/4 (看更多)
※ 引述《MetalChao (饅頭)》之銘言:
: ※ 引述《billy00685 (milano)》之銘言:
我想要的程式就是單純的收字串然後LCD顯示出來收到的字串.
一開始P0的LED交互亮暗.
然後一旦收到字串就啟動串列阜中斷.
LCD第一行顯示出收到的字串
第二行就是單純顯示我預先設好的字串這部分沒問題.
底下是我修改的主程式及中斷程式:
main()
{
SCON=0x50; /*0101-0000 */
TMOD=0x20; /*0010-0000 */
TH1=243;
TL1=243;
TR1=1;
IE=0x90; /*1001-0000 */
while(1)
{
P0=0x00;
delayms(1000);
P0=0xff;
delayms(1000);
}
}
void SerialISR(void) interrupt 4 //串列中斷
{
if( RI )
{
int index=0;
char buf[16];
buf[index] = SBUF;
delayms(1000);
P0=0x0f;
delayms(1000);
init();
position(1,1);
display(buf);
position(2,1);
display(string2);
RI=0;
}
}
我修改了程式,LCD的第一行能顯示出字元了.
但是我明明送'1234'經rs232給LCD但只能收到第一個位元.
就是LCD只顯示到'1'就沒了.我後面的234都不見了?
這是哪裡有錯啊?怎麼解決?
難道要我1234拆開1個1個發送,這也太麻煩了!!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.126.8.123
→
12/24 21:47, , 1F
12/24 21:47, 1F
→
12/24 21:49, , 2F
12/24 21:49, 2F
→
12/24 22:08, , 3F
12/24 22:08, 3F
推
12/25 09:16, , 4F
12/25 09:16, 4F
推
12/25 09:19, , 5F
12/25 09:19, 5F
→
12/25 14:04, , 6F
12/25 14:04, 6F
→
12/25 14:11, , 7F
12/25 14:11, 7F
→
12/25 15:35, , 8F
12/25 15:35, 8F
→
12/25 15:56, , 9F
12/25 15:56, 9F
→
12/25 18:59, , 10F
12/25 18:59, 10F
推
12/25 21:44, , 11F
12/25 21:44, 11F
→
12/25 21:45, , 12F
12/25 21:45, 12F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章