【C语言】C语言错误收集

1.0 error: #70: incomplete type is not allowed

问题描述:

在调试PID的过程中,为了使用蓝牙串口修改PID参数,在串口接收处理函数处引用PID结构体,不成功。
谷歌了一下午,在40度的气温下,头都昏了,结果还是没解决结构体外部引用失败的问题。最终,采取引用外部变量而非结构体解决了问题。

解决方案:

  • 目的: 通过蓝牙串口修改PID结构体内的三个参数kp,ki,kd。
PID结构体

我是如何成功实现的?(成功方案)

  • 方法: kp,ki,kd三个参数在PID.C内,蓝牙串口接收处理程序在Bluetooth.C内,在PID.C内定义一个变量
    float PID_Value;在PID.h内声明extern float PID_Value;在Bluetooth.C内将接收到的数据处理后给 PID_Value,在PID.C内将PID_Value赋值给PID结构体内三个参数 kp,ki,kd。
PID与Bluetooth之间的通信

我是如何失败的?(失败方案)

  • 方法:PID.C文件内定义结构体,PID.h文件内extern声明,失败。加typedef,失败。PID.C文件内extern声明结构体,PID.h文件内定义结构体,失败。

参考资料:

  • 问题01:error: #70: incomplete type is not allowed的参考资料
  1. keil环境下,报错#70: incomplete type is not allowed,解决方法
    http://www.cnblogs.com/htsky/p/5936703.html
  2. error: #70: incomplete type is not allowed——已解决!
    http://blog.csdn.net/dcx1205/article/details/9097491
  3. keil中error: #70: incomplete type is not allowed——已解决!
    http://blog.csdn.net/super_demo/article/details/17758601
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • PID控制器是一种常用的控制技术,常用于多种机械装置(如车辆、机器人、火箭)中。用数学方式来描述PID控制器是非常...
    云淡天空阅读 11,493评论 0 11
  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 13,394评论 0 23
  • 总所周知,PID算法是个很经典的东西。而做自平衡小车,飞行器PID是一个必须翻过的坎。因此本节我们来好好讲解一下P...
    熊猫啃竹阅读 5,434评论 1 12
  • "Unterminated string literal.": "未终止的字符串文本。", "Identifier...
    两个心阅读 12,647评论 0 4
  • cxzCdsfdsafdsafdsafdasfdasfdafdafdafdafdasfda fdsafdsaf d...
    baoei阅读 1,287评论 0 1