找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2358|回复: 13
打印 上一主题 下一主题
收起左侧

各位路过大神帮看一下,关于C语言变量指针的问题

  [复制链接]
跳转到指定楼层
楼主
ID:699775 发表于 2021-1-20 18:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
a=2;
SendString(a);

目的是想把一个变量通过串口发送到电脑上,

编译的时候提示非法指针转换
main.c(88): error C214: illegal pointer conversion


那么,a的变量该如何传送出去?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:245053 发表于 2021-1-21 09:19 | 只看该作者
SendString原函数是如何定义的?!
回复

使用道具 举报

板凳
ID:276663 发表于 2021-1-21 09:24 | 只看该作者
你应该使用senddata(a);sendstring要传入指针,a你定义为a[],也可以
回复

使用道具 举报

地板
ID:752974 发表于 2021-1-21 09:29 | 只看该作者
senddata()是如何定义的?
回复

使用道具 举报

5#
ID:752974 发表于 2021-1-21 09:36 | 只看该作者
senddata()如果是这样定义的senddata(u8 *x)的话,这样调用senddata(&a)。
回复

使用道具 举报

6#
ID:879348 发表于 2021-1-21 09:43 | 只看该作者
应该是&a吧
回复

使用道具 举报

7#
ID:514901 发表于 2021-1-21 09:49 | 只看该作者
SendString函数数是发送字符串的,这个函数的参数应该是一个字符串数组的地址,你发送单个应该用sendchar这个函数
回复

使用道具 举报

8#
ID:824490 发表于 2021-1-21 09:52 | 只看该作者
从字面上看,SendString当是发送字符串,是一组数据,你一个a在这边的确不符,可能要SendByte()或 是Sendchar(),你把SendString()这个函数原型发上来看看。
回复

使用道具 举报

9#
ID:860332 发表于 2021-1-21 10:10 | 只看该作者
&a取地址
回复

使用道具 举报

10#
ID:390416 发表于 2021-1-21 10:37 | 只看该作者
用我这个代码,没有死等!CPU效率高!!!
单片机串口1打印程序 可以打印3个十六位的变量 波特率9600 www.51hei.com/bbs/dpj-201660-1.html
回复

使用道具 举报

11#
ID:699775 发表于 2021-1-22 20:18 | 只看该作者
void send1()
{
        SendByte('\t');
        SendString("value:");               
        SendString(&a);    //如果用这种方法串口收到空数据value:   
//        senddata(a);   //如果用这种方法会提示main.c(67): error C267: 'senddata': requires ANSI-style prototype
                 SendByte('\n');

回复

使用道具 举报

12#
ID:699775 发表于 2021-1-22 20:20 | 只看该作者
void SendByte(unsigned char sbyte)
这是原型
回复

使用道具 举报

13#
ID:699775 发表于 2021-1-22 20:21 | 只看该作者
void SendString(unsigned char *pstr)
{
     while(*pstr!='\0')                         //字符串是否发完
     {
         SendByte(*pstr);                        //发送字符串数据
         pstr++;                                         //指向下一个字符
     }
回复

使用道具 举报

14#
ID:879809 发表于 2021-1-22 20:29 | 只看该作者
liulianww 发表于 2021-1-22 20:20
void SendByte(unsigned char sbyte)
这是原型

那么你在楼主位代码中a也是unsigned char的话,就不应该出错啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表