美文网首页【教是最好的学】
【C语言】C语言错误收集

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

作者: 习惯研究所所长 | 来源:发表于2017-07-25 21:52 被阅读30次

    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

    相关文章

      网友评论

        本文标题:【C语言】C语言错误收集

        本文链接:https://www.haomeiwen.com/subject/rzsgkxtx.html