找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3197|回復(fù): 13
打印 上一主題 下一主題
收起左側(cè)

各位路過大神幫看一下,關(guān)于C語言變量指針的問題

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:699775 發(fā)表于 2021-1-20 18:57 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
a=2;
SendString(a);

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

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


那么,a的變量該如何傳送出去?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:245053 發(fā)表于 2021-1-21 09:19 | 只看該作者
SendString原函數(shù)是如何定義的?!
回復(fù)

使用道具 舉報(bào)

板凳
ID:276663 發(fā)表于 2021-1-21 09:24 | 只看該作者
你應(yīng)該使用senddata(a);sendstring要傳入指針,a你定義為a[],也可以
回復(fù)

使用道具 舉報(bào)

地板
ID:752974 發(fā)表于 2021-1-21 09:29 | 只看該作者
senddata()是如何定義的?
回復(fù)

使用道具 舉報(bào)

5#
ID:752974 發(fā)表于 2021-1-21 09:36 | 只看該作者
senddata()如果是這樣定義的senddata(u8 *x)的話,這樣調(diào)用senddata(&a)。
回復(fù)

使用道具 舉報(bào)

6#
ID:879348 發(fā)表于 2021-1-21 09:43 | 只看該作者
應(yīng)該是&a吧
回復(fù)

使用道具 舉報(bào)

7#
ID:514901 發(fā)表于 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ù)
回復(fù)

使用道具 舉報(bào)

8#
ID:824490 發(fā)表于 2021-1-21 09:52 | 只看該作者
從字面上看,SendString當(dāng)是發(fā)送字符串,是一組數(shù)據(jù),你一個(gè)a在這邊的確不符,可能要SendByte()或 是Sendchar(),你把SendString()這個(gè)函數(shù)原型發(fā)上來看看。
回復(fù)

使用道具 舉報(bào)

9#
ID:860332 發(fā)表于 2021-1-21 10:10 | 只看該作者
&a取地址
回復(fù)

使用道具 舉報(bào)

10#
ID:390416 發(fā)表于 2021-1-21 10:37 | 只看該作者
用我這個(gè)代碼,沒有死等!CPU效率高!!
單片機(jī)串口1打印程序 可以打印3個(gè)十六位的變量 波特率9600 www.torrancerestoration.com/bbs/dpj-201660-1.html
回復(fù)

使用道具 舉報(bào)

11#
ID:699775 發(fā)表于 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');

回復(fù)

使用道具 舉報(bào)

12#
ID:699775 發(fā)表于 2021-1-22 20:20 | 只看該作者
void SendByte(unsigned char sbyte)
這是原型
回復(fù)

使用道具 舉報(bào)

13#
ID:699775 發(fā)表于 2021-1-22 20:21 | 只看該作者
void SendString(unsigned char *pstr)
{
     while(*pstr!='\0')                         //字符串是否發(fā)完
     {
         SendByte(*pstr);                        //發(fā)送字符串?dāng)?shù)據(jù)
         pstr++;                                         //指向下一個(gè)字符
     }
回復(fù)

使用道具 舉報(bào)

14#
ID:879809 發(fā)表于 2021-1-22 20:29 | 只看該作者
liulianww 發(fā)表于 2021-1-22 20:20
void SendByte(unsigned char sbyte)
這是原型

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

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表