社区
单片机/工控
帖子详情
stm32cubeIDE移植的UCOSIII,STemwin,stm32407芯片,定义float变量后进入硬件错误
憨厚的豌豆荚
2020-07-06 01:08:23
如题:stm32cubeIDE移植的UCOSIII,STemwin,用的stm32407芯片,定义float变量后进入硬件错误
之前是Keil5移植的时候也遇到了这个问题,然后是在启动文件中加了一段代码解决了。
这次因为启动文件也不一样了,不知道改怎么修改
...全文
5864
5
打赏
收藏
stm32cubeIDE移植的UCOSIII,STemwin,stm32407芯片,定义float变量后进入硬件错误
如题:stm32cubeIDE移植的UCOSIII,STemwin,用的stm32407芯片,定义float变量后进入硬件错误 之前是Keil5移植的时候也遇到了这个问题,然后是在启动文件中加了一段代码解决了。 这次因为启动文件也不一样了,不知道改怎么修改
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GreenDreamer
2020-10-15
打赏
举报
回复
f4系列很多都有FPU核心,需要重点关注是否开启,开启的情况下,RTOS会自动保护现场。否则就会有一定的几率在操作浮点数时出现异常的调用(寄存器级别)导致错误。所以需要关注两点: 1. 单片机的FPU是否开启。 2. RTOS对于FPU的要求如何,是否需要更换?
憨厚的豌豆荚
2020-07-08
打赏
举报
回复
引用 3 楼 Jacky_Lu 的回复:
是不是 这个 cpu 带有 浮点 寄存器,在移植的时候 也要 放到任务栈里面的 跟 R0-R3 一样
我重新调试了一下,因为我一直了UCOS_III和STemwin,后来发现是只要加上触摸就不能用float,还没有找到原因
Jacky_Lu
2020-07-08
打赏
举报
回复
是不是 这个 cpu 带有 浮点 寄存器,在移植的时候 也要 放到任务栈里面的 跟 R0-R3 一样
水滴重甲
2020-07-06
打赏
举报
回复
感觉像是精度问题,你在定义float变量的时候加个f;
如 float a = 0.5f;
forget345
2020-07-06
打赏
举报
回复
看看具体是 什么 硬件错误,然后试着分析
KEILMDK和
STM32
的数据类型之入门篇.pdf
KEILMDK和
STM32
的数据类型之入门篇.pdfKEILMDK和
STM32
的数据类型之入门篇.pdf
可用于单片机或
STM32
自制
II
R数字滤波器
II
R滤波器函数,参数可以利用MATLAB产生,方便用于单片机之类的嵌入式系统
STM32
的CMSIS里的DSP库函数中的汇总函数
STM32
的CMSIS里的DSP库函数中的汇总函数,新版本的CMSIS不提供该汇总函数了,下载后解压,把文件挨个添加到DSP库函数的每个文件夹
STM32
H743实现采集MCU内部温度传感器【支持
STM32
H7系列单片机_寄存器库驱动】.zip
STM32
H743驱动程序,寄存器库。 项目支持
STM32
H7系列单片机调测和
移植
。 项目代码可直接编译、运行。
【课设】利用
stm32
f103系统板+相关
硬件
的方式搭建
硬件
平台,基于
stm32
库函数进行c语言编程,最终实现避障小车的实地运行
C语言是一种广泛使用的编程语言,它具有高效、灵活、可
移植
性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括
变量
、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1.
变量
和数据类型 在C语言中,
变量
用于存储数据,数据类型用于
定义
变量
的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、
float
、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中
定义
函数使用关键字“void”或返回值类型(如int、
float
等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储
变量
地址的
变量
。通过指针,可以实现对内存的间接访问和修改。C语言中
定义
指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个
变量
组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
单片机/工控
27,517
社区成员
28,798
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章