|
發布時間: 2020-7-9 09:57
正文摘要:/* 名稱:單片機向主機發送字符串 說明:單片機按一定的時間間隔向主機發送字符串,發送內容在虛擬終 端顯示。 */ #include<r ... |
|
還是 去學習C語言吧。 1.主函數前面的三個viod是是表示子函數調用 無返回值 2.while(TI==0); TI=0;---------- ==0 是判斷 左右兩邊值是否相等 =0是 把0 賦值給左邊 3.while(*s!='\0')Putc_to_SerialPort(*s);------------這括號里是啥意思 表示調用函數的參數是 指針 |
笨笨兔 發表于 2020-7-10 12:46 我的帖子 你不要吭聲 |
| 建議樓主找一本c語言方面的書,稍微閱讀一下,免得在這里浪費大家的時間。。。。。。 |
wulin 發表于 2020-7-9 12:44 你好 哥 幫忙推薦一款適合我學習的開發板 我去學習 |
hei512020 發表于 2020-7-10 10:11 有返回值怎么寫 |
QWE4562012 發表于 2020-7-10 09:41 main()就表示主函數,和加不加void沒有關系,加void說明主函數沒有返回值,void可以省略不寫 |
wangyuejia2015 發表于 2020-7-9 13:41 能舉個例子不 |
lwh999995 發表于 2020-7-9 12:44 是加了‘\0’---------加了單引號 |
wulin 發表于 2020-7-9 12:44 void Puts_to_SerialPort(uchar *s) { while(*s!='\0') { Putc_to_SerialPort(*s); s++; DelayMS(5); 1.這個void Puts_to_SerialPort(uchar *s)------------定義這個S變量的時候 為什么前面還加一個*? 2. while(*s!='\0')------------------------這個是標準的格式嗎 |
wulin 發表于 2020-7-9 12:44 1.放在后面是需要聲明是嗎? 4.那原來C是十六進制數是嗎?如果要將數據B轉換成字符碼就是b+‘A’???十六進制和字符碼有怎樣的對應關系呢? |
小黑的大表舅 發表于 2020-7-9 12:01 你說的很清楚,程序說的不是很清楚 |
lwh999995 發表于 2020-7-9 12:44 \0啥意思啊 |
小黑的大表舅 發表于 2020-7-9 12:01 您好 viod main()和viod 其他有怎樣的區別?加了main()就是主函數是嗎 |
| 被其他調用的函數一定放在前面 如果用不同的.c文件 把函數寫到。h文件其他文件 引用這個。h文件也就可以調用該函數了 |
|
1. 你打void錯了,是函數沒有返回值的意思 2. == 判斷的條件, = 賦值 3. \0 字符串結尾都有\0, \r\n 換行 |
|
1.主函數前面的三個函數是子函數,供主函數調用,放在主函數前面一般不需要另外聲明。 2.==是測試,=是賦值,while(TI==0);測試括號內容為假跳出死循環。 3.while(*s!='\0')Putc_to_SerialPort(*s); while(*s!='\0')測試指針地址結束符號,*s!='\0'為假跳出死循環。 4.c+'A'將數據c轉換成字符碼(ASCII碼)便于特定顯示器顯示。 5.\r\n 回車換行。 |
|
不是函數聲明,就是函數,功能不是標的清清楚楚嗎。 while(T1=0)是把T1賦值為0,同時該表達式的結果也是0,所以永遠不會執行while下面的循環 while(T1==0)是如果T1的值為0,T1==0表達式的結果為1,則執行下面的循環;反之,表達式的結果為0,不執行下面的循環 第三個不是很清楚,應該是打印字符吧,打印字符到這個子函數里 |