1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
STC89C5單片機串口發送數據時我使用單引號發送正確,雙引號提示我指向的不是指針的...
[打印本頁]
作者:
SKYLAR123
時間:
2020-6-4 13:39
標題:
STC89C5單片機串口發送數據時我使用單引號發送正確,雙引號提示我指向的不是指針的...
#include <reg51.h>
void uart_init(void);
void uart_send_byte(unsigned char m);
void delay500ms(void);
void main()
{
uart_init();
while(1)
{
uart_send_byte("x");
delay500ms();
}
}
void uart_init(void) //第一步單片機初始化
{
SCON=0x50; //通信方式一
PCON=0x00; //波特率加倍
TMOD=0X20; //方式2
TH1=243;
TL1=243; //波特率4800
TR1=1;
ES=1;
EA=1;
}
void uart_send_byte(unsigned char m)
{
SBUF=m;
while(!TI);
TI=0;
}
void delay500ms(void) //誤差 0us
{
unsigned char a,b,c;
for(c=205;c>0;c--)
for(b=116;b>0;b--)
for(a=9;a>0;a--);
}
就是 uart_send_byte("x");但改為uart_send_byte('x');沒有問題,這個是什么原因
作者:
carpcarey
時間:
2020-6-4 14:25
void uart_send_byte(unsigned char m)
調用你申明的這個函數
如果是單引號uart_send_byte('x');
等同于uart_send_byte(0x78); //x的ASCII碼是0x78 ‘x'這時是字符,不是字符串。
如果是雙引號,表示字符串。字符串是用指針表示起始位置的。不符合你申明的unsigned char,所以類型不正確。
unsigned char str[]="xyz";
uart_send_byte(*str);
uart_send_byte(*(str+1));
這是可以的.
作者:
qq659848755
時間:
2020-6-4 14:29
雙引號引起來的是字符串,是char*類型。單引號引起來的是字符,是char類型。
作者:
51hei**1140
時間:
2020-6-4 14:41
雙引號引用的是字符串,
單引號引用的是一個字符
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1