OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7618|回复: 3

Keil4支持C99(默认是C89)+经验之谈匿名上位机通信代码!!!

[复制链接]

3

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2016-12-12
在线时间
12 小时
发表于 2016-12-13 21:14:44 | 显示全部楼层 |阅读模式
在使用匿名官网最新上位机时使用自带通信例程出错,搞得一头雾水

匿名上位机4.06

匿名上位机4.06


首先出现满屏的红色波浪线,错误的莫名其妙排除了一部分后发现还有一个不是错误的错误

[mw_shl_code=c,true]void ANO_DT_Send_Status(float angle_rol, float angle_pit, float angle_yaw, s32 alt, u8 fly_model, u8 armed)
{
        u8 _cnt=0;
        vs16 _temp;
        vs32 _temp2 = alt;
       
        data_to_send[_cnt++]=0xAA;
        data_to_send[_cnt++]=0xAA;
        data_to_send[_cnt++]=0x01;
        data_to_send[_cnt++]=0;
       
        _temp = (int)(angle_rol*100);
        data_to_send[_cnt++]=BYTE1(_temp);
        data_to_send[_cnt++]=BYTE0(_temp);
        _temp = (int)(angle_pit*100);
        data_to_send[_cnt++]=BYTE1(_temp);
        data_to_send[_cnt++]=BYTE0(_temp);
        _temp = (int)(angle_yaw*100);
        data_to_send[_cnt++]=BYTE1(_temp);
        data_to_send[_cnt++]=BYTE0(_temp);
       
        data_to_send[_cnt++]=BYTE3(_temp2);
        data_to_send[_cnt++]=BYTE2(_temp2);
        data_to_send[_cnt++]=BYTE1(_temp2);
        data_to_send[_cnt++]=BYTE0(_temp2);
       
        data_to_send[_cnt++] = fly_model;
       
        data_to_send[_cnt++] = armed;
       
        data_to_send[3] = _cnt-4;
       
        u8 sum = 0;
        for(u8 i=0;i<_cnt;i++)
                sum += data_to_send;
        data_to_send[_cnt++]=sum;
       
        ANO_DT_Send_Data(data_to_send, _cnt);
}[/mw_shl_code]
以上代码报错的是这一段:
[mw_shl_code=c,true]for(u8 i=0;i<_cnt;i++)[/mw_shl_code]
原来keil编译器 变量声明需要放到函数开头不能放中间!
但是C语言C99标准是支持这样的语法的,看来我out了,连C语言都在与时俱进
好吧!要么把它改到函数前面,要么就是改C语言编译器标准
选择后者更简单,摩擦摩擦跟上时代的步伐,只要加几个字就OK

mdk设置页面

mdk设置页面

就是在misc controls里加上“--C99”,让编译器按照C99标准进行编译
下面把我修改的4.06匿名上位机通信程序发上来分享给大家,只有mpu6050的数据上传部分,可以观看3D姿态!
匿名科创官网(可下载最新版上位机)



ANOTech.rar

1.33 KB, 下载次数: 243

匿名科创地面站4.06

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-12-14 00:10:18 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2016-2-27
在线时间
8 小时
发表于 2017-3-30 09:02:01 | 显示全部楼层
你好,请问你移植以后有没有出现串口读取速度很快,但是上位机卡顿的情况,波形显示,高级收码什么的都一卡一卡的,
回复 支持 反对

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2018-5-15
在线时间
15 小时
发表于 2018-6-12 22:02:04 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-26 12:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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