完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
平台:TM4C123 launchpad
编译工具: IAR7.1 在starpup .c 启动文件里程序段如下 static void App_Reset_ISR (void) [ // // Enable the floating-point unit. This must be done here to handle the // case where main() uses floating-point and the function prologue saves // floating-point registers (which will fault if floating-point is not // enabled). Any configuration of the floating-point unit using DriverLib // APIs must be done here prior to the floating-point unit being enabled. // // Note that this does not use DriverLib since it might not be included in // this project. // HWREG(NVIC_CPAC) = ((HWREG(NVIC_CPAC) & ~(NVIC_CPAC_CP10_M | NVIC_CPAC_CP11_M)) | NVIC_CPAC_CP10_FULL | NVIC_CPAC_CP11_FULL); __iar_program_start(); ] 在主程序段里 void main(void) [ FPUEnable(); FPULazyStackingEnable(); SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); add_float(); SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); GPIOPinConfigure(GPIO_PA0_U0RX); GPIOPinConfigure(GPIO_PA1_U0TX); GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1); UARTClockSourceSet(UART0_BASE, UART_CLOCK_PIOSC); UARTStdioConfig(0, 115200, 16000000); UARTprintf("test "); ] void add_float(void) [ float a = 4.47; float b = 3.21; float c; c = a + b; ] 程序运行结果如下: 1. 如果把浮点运算函数 add_float() 注释掉 程序可以顺利运行打印出 test 2. 如果把浮点运算函数 add_float() 也运行, 程序就死在这个函数里 无法运行下去 请求达人指点一下, TM4C123不是支持浮点运算的吗?难道是编译器或者还有哪里没设置对? 不胜感激! |
|
相关推荐
3 个讨论
|
|
试试这样的配置顺序
ROM_FPULazyStackingEnable(); ROM_FPUEnable();给你个例程看看 #include |
|
|
|
|
|
ljmlvmd 发表于 2020-8-26 15:24 很感谢你的回复。 1) 我用的iar编译器 我发现如果要使用浮点的话必须 在IAR编译设置里 FPU 选项 设置为 NONE 才行,如果设置为默认的 vfpv4的话就不能进行浮点计算 2) 我发现我的浮点程序如果是单程序的话照以上设置可以正常运行,但是如果和UC/OS2一起编译的话,就无法正常计算浮点,我估计可能是UC/OS2 不支持TM4C123的浮点寄存器。 如果你有在OS系统下使用浮点的经验麻烦提供一下,非常感谢! |
|
|
|
|
|
wenminglang 发表于 2020-8-26 15:30 你好。。设置为none时应该是编译器没有 用FPU。。RTthred支持FPU .以前有听说过UCOS以前不支持,,后来好像更新后可以。你可以尝试换新版本的ucos |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
315 浏览 1 评论
518 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
758 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
643 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1115 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
228浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
183浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
46浏览 13评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
150浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
160浏览 12评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 15:03 , Processed in 1.083643 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号