matlab创建ioc工程,STM32&simulink代码生成时提示未定义函数或变量’Pin_idx’

请问解决了吗,这个问题困扰好久了,GPIO确认是设置了输出,ioc文件的路径和config模块中的路径也一致,但还是会出现这个问题,不过端口是可以选择的,在最后build时会报错

The "ARM CMSIS SIN COS" code replacement library includes the standard math library "C89/C90 (ANSI)". To avoid this warning, you can specify the code replacement library as "None" or remove the base CRL specification if applicable, then select the desired math library via the standard math library (TargetLangStandard) parameter.

### Real-Time Workshop build procedure for method: 'entry'

### Starting Real-Time Workshop build procedure for model: 'stmdaima'

### STM32CubeMx version in usage is: 6

### Windows version: 'win64'

*** stm32_make_rtw_hook(): 'RTWVerbose' is: 'on'

*** stm32_make_rtw_hook(): 'SimulationMode' is: 'normal'

### Model connectivity is: 'normal'

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于HAL库的stm32机器人跷跷板项目<br><br> </div> ## 开发流程 首先使用`STM32 Cube MX`生成带`Makefile`的HAL库工程模版,然后修改`Core`文件夹下的用户代码,使用`make`命令编译,在`build`目录即可获得`seesaw.elf`等文件,接下来按下`BOOT0+RESET`使单片机进入下载模式,使用usb将其连接到电脑,用`STM32 Cube Programmer`将编译好的程序烧录进单片机。 ## 硬件架构 小车为三轮,车身由铝合金框架连接构成,在其上固定有面包板,用杜邦线连接单片机、电机、蓝牙模块、电池盒与传感器,同用扎线带等固定好分线器(位于侧面与底部)与电源模块(位于底部),具体实物图与分模块说明如下。 <table> <tr> <td align="center"><img src="imgs/car_above.jpg"></td> <td align="center"><img src="imgs/car_below.jpg"></td> <td align="center"><img src="imgs/car_core.jpg"></td> </tr> <tr> <td align="center">上面</td> <td align="center">底面</td> <td align="center">核心</td> </tr> </table> <table> <tr> <td align="center"><img src="imgs/car_side.jpg"></td> </tr> <tr> <td align="center">侧面</td> </tr> </table> ### 1. 单片机 单片机型号为`STM32F401CCUx`,具体实物如上图。定义其引脚与中断如下,详细可见`seesaw.ioc`,该文件可用`STM32 Cube MX`打开。 ![pins](imgs/pins.jpg) ![ints](imgs/ints.jpg) ### 2. 电机 电机型号为`MG995`,使用单片机`TIM1`产生的`PWM`波驱动,实物图如下。 ![motor](imgs/motor.jpg) ### 3. 传感器 传感器为九轴传感器`GY953`,通过`UART1`与单片机通信,具有加速度、角加速度、欧拉角,磁场的测量功能,并且还可以以固定频率(默认`50Hz`)输出数据,具体使用文档可以在网络上找到,不再赘述。项目中只使用了角加速度与欧拉角,并使用其固定频率作为外部钟中断。 ### 4. 蓝牙模块 蓝牙模块作为调试使用,通过`UART2`与单片机通信,在调试完毕后可以移除。 ### 5. 电源模块 电源模块位于小车底部,提供恒定的`5V`电压源。不过当电机转速突变,其将产生约`9V`的尖峰,可能会导致系统工作失常。本项目的代码通过避免速度突变使系统工作正常,不过也可通过加入电容调节。 ## 软件架构 本项目通过代码控制小车实现了以下一系列动作: 1. 上电,标定正确航向(约 3s),成功后 LED 灭 2. 在跷跷板为圆心 90° 扇形范围内,距离跷跷板 A 端 300mm 以外指定位置放置,按动 UKEY 启动,LED 亮,小车自主运动上跷跷板 3. 在 60s 内,运动到中心点 C 附近 4. 到达跷跷板左倾与右倾的欧拉角 pitch 极值点,通过平均计算出中点处 pitch 值 5. 以中点处 pitch 值运行 PID 算法,使跷跷板处于平衡状态,然后保持平衡 10s ,并给出明显的平衡指示(LED 闪烁) 6. 60s 内回到 A 端,并给出明显的到达指示(LED 闪烁) ![seesaw](imgs/seesaw.png) 程序完全采用中断驱动,在主函数中初始化电机、传感器等外设后,即在`while (1)`中使用`__WFI()`等待中断到来,处理相应事件。在上电后 1s ,单片机向传感器发出指令,使传感器向单片机以`50Hz`频率 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值