標(biāo)題: 各位路過大神幫看一下,關(guān)于C語言變量指針的問題 [打印本頁]

作者: liulianww    時(shí)間: 2021-1-20 18:57
標(biāo)題: 各位路過大神幫看一下,關(guān)于C語言變量指針的問題
a=2;
SendString(a);

目的是想把一個(gè)變量通過串口發(fā)送到電腦上,

編譯的時(shí)候提示非法指針轉(zhuǎn)換
main.c(88): error C214: illegal pointer conversion


那么,a的變量該如何傳送出去?

作者: pcf2000    時(shí)間: 2021-1-21 09:19
SendString原函數(shù)是如何定義的?!
作者: IdeaMing    時(shí)間: 2021-1-21 09:24
你應(yīng)該使用senddata(a);sendstring要傳入指針,a你定義為a[],也可以
作者: munuc_w    時(shí)間: 2021-1-21 09:29
senddata()是如何定義的?
作者: munuc_w    時(shí)間: 2021-1-21 09:36
senddata()如果是這樣定義的senddata(u8 *x)的話,這樣調(diào)用senddata(&a)。
作者: wufa1986    時(shí)間: 2021-1-21 09:43
應(yīng)該是&a吧
作者: 鄭漢松    時(shí)間: 2021-1-21 09:49
SendString函數(shù)數(shù)是發(fā)送字符串的,這個(gè)函數(shù)的參數(shù)應(yīng)該是一個(gè)字符串?dāng)?shù)組的地址,你發(fā)送單個(gè)應(yīng)該用sendchar這個(gè)函數(shù)
作者: 名字不是重點(diǎn)    時(shí)間: 2021-1-21 09:52
從字面上看,SendString當(dāng)是發(fā)送字符串,是一組數(shù)據(jù),你一個(gè)a在這邊的確不符,可能要SendByte()或 是Sendchar(),你把SendString()這個(gè)函數(shù)原型發(fā)上來看看。
作者: 1714461639    時(shí)間: 2021-1-21 10:10
&a取地址

作者: 人人學(xué)會(huì)單片機(jī)    時(shí)間: 2021-1-21 10:37
用我這個(gè)代碼,沒有死等!CPU效率高。。
單片機(jī)串口1打印程序 可以打印3個(gè)十六位的變量 波特率9600 www.torrancerestoration.com/bbs/dpj-201660-1.html
作者: liulianww    時(shí)間: 2021-1-22 20:18
void send1()
{
        SendByte('\t');
        SendString("value:");               
        SendString(&a);    //如果用這種方法串口收到空數(shù)據(jù)value:   
//        senddata(a);   //如果用這種方法會(huì)提示main.c(67): error C267: 'senddata': requires ANSI-style prototype
                 SendByte('\n');


作者: liulianww    時(shí)間: 2021-1-22 20:20
void SendByte(unsigned char sbyte)
這是原型
作者: liulianww    時(shí)間: 2021-1-22 20:21
void SendString(unsigned char *pstr)
{
     while(*pstr!='\0')                         //字符串是否發(fā)完
     {
         SendByte(*pstr);                        //發(fā)送字符串?dāng)?shù)據(jù)
         pstr++;                                         //指向下一個(gè)字符
     }
作者: rundstedt    時(shí)間: 2021-1-22 20:29
liulianww 發(fā)表于 2021-1-22 20:20
void SendByte(unsigned char sbyte)
這是原型

那么你在樓主位代碼中a也是unsigned char的話,就不應(yīng)該出錯(cuò)啊!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1