在Keil MDKARM中
unsigned int value2=0x80000000;
unsigned int value4=2147483648;
value2编译时不产生警告,而value4就产生警告
main.c(17): warning: #1134-D: literal treated as "long long"
解决方法:
关键是2147483648是一个字面常量,类型是int型,而不是unsigned int.
上面这个语句,需要先将int类型,转换成unsigned int类型,再赋值给value4;
在转换过程中,因为这个数值超过32位int类型的表示范围,所以会出现你所见到的那个警告.
unsigned int value2=0x80000000;
0x80000000;字面类型是unsigned的,所以在32位的表示范围之内.
如果你想要明白告诉编译器,2147483648就是unsigned 类型,你可以这么做.
unsigned int value4=2147483648u;
关键字:keil STM32
引用地址:
keil写STM32程序出现literaltreatedas"longlong"
推荐阅读最新更新时间:2024-03-16 16:14
stm32串口中断接收一帧数据
最近用到stm32的串口,中断一个字符一个字符接收好心累,网上度了一下发现了一篇好的帖子,和大家分享一下,原贴地址:http://www.51hei.com/bbs/dpj-39885-1.html 再次感谢原贴楼主的分享,为了方便大家,我把原文复制过来》 今天说一下STM32单片机的接收不定长度字节数据的方法。由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据,由于STM32属于ARM单片机,所以这篇文章的方法也适合其他的ARM单片机。 IDLE中断什么时候发生? IDLE就是串口收到一帧数据后,发生的中断。什么是一帧数据呢?比如说给单片机一次发来1个字节,或者一次发来8个字节,这些一次发来的数据
[单片机]
STM32(6) STM32时钟系统精讲(正点原子)
讲解内容: 时钟系统框图 时钟配置相关函数 参考资料 《STM32F4开发指南库函数版本》4.3小节STM32F4时钟系统 《STM32F4中文参考手册》第六章 复位和时钟系统 先看开发指南4.3小节的时钟树 时钟框图在中文参考手册的6.2小节,STM32的时钟系统还是很复杂的,为什么ARM的时钟系统要做的这么复杂,采用 多时钟源, 时钟频率越高功耗 越高。 F4与F1类似也有5个时钟来源 1 LSIRC 低速 的内部时钟 2 LSEOSC 低速的外部时钟 3 HSIRC 高速的内部时钟 4 PLLCLK 锁相环时钟输出 5 HSEOSC 也是一个很重要的时钟源,也是我们最常用的
[单片机]
keil5开发案例分享 基于STM32设计遥控小车
一、环境介绍 小车主控MCU: STM32F103ZET6 STM32程序开发IDE: keil5 STM32程序风格: 采用寄存器方式开发,注释齐全,执行效率高,方便移植 手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解) 硬件包含: 淘宝购买的完整一套4轮遥控小车(采用STM32F103ZET6作为主控板)、DHT11温湿度传感器、中科微GPS模块、ESP8266 小车完整源码下载地址:https://download.csdn.net/download/xiaolong1126626497/195570
[单片机]
STM32学习笔记一一窗口看门狗
1.窗口看门狗( WWDG):通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。 2.窗口看门狗工作示意图: T 就是 WWDG_CR 的低七位, W 即是 WWDG- CFR 的低七位。T 就是窗口看门狗的计数器,而 W 则是窗口看门狗的上窗口,下窗口值是固定的( 0X40)。当窗口看门狗的计数器在上窗口值之外被刷新,或者低于下窗口值都会产生复位。上窗口值( W ) 是由用户自己设定的,根据实际要求来设计窗口值,但是一定要确保窗口值大于 0X40,否则窗口就不存在了。 3.相关寄存器 a.控制寄存器( WWDG_CR):各位描述如下图 WWDG_C
[单片机]
STM32定时器重映射
void TIM3_GPIOB5_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO , ENABLE); GPIO_AFIODeInit(); //将重映射恢复为初始值 //在程序中只可以调用一次,不然之前的设置就取消了 GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3 ,ENABLE ); //重映射相应的外设 GPIO_InitStructure.
[单片机]
STM32学习札记--ADC的有关函数个人见解
STM32的ADC功能较为完善,个人理解的还不是很深入。一点点的吃透! 在学习ADC之前我们需要知道相关的ADC的配置 一:ADC的最关键的时钟需要使能,用的是HSI:RCC_HSICmd(ENABLE);//时钟源选择及配置,参见时钟树 二:既然是ADC采集,当然需要你设置需要采集的通道,需要利用的I/O口 1,使能相应IO口的时钟---- 配置 I/O的引脚,模式,速率,输出类型及是否上下拉! 2,使能相应ADC的时钟--- 配置ADC的工作方式等 三:基础工作做完后,当然是要准备去采集数据, 包含两种方式: 规则通道顺序配置和注入通道配置 个人理解两者的区别在于前者是连续转换已经设定的通道,后者是等
[单片机]
STM32笔记2:建库操作之点亮LED
/**新建工程模板 建库之点亮LED灯 **/ #include stm32f4xx.h //总线 #define PERIPH_BASE ((unsigned int)0x40000000) #define AHB1PERIPH_BASE (PERIPH_BASE+0x00020000) #define GPIOH_BASE (AHBPERIPH_BASE+0x00001c00) #define GPIOH_MODER *(unsigned int*)(GPIOH_BASE+0x00) #define GPIOH_ODR *(unsigned int*)(GPIOH_BASE+0x14) #
[单片机]
意法半导体(ST)推出新款STM32 Nucleo开发板
2016年2月22日,意法半导体(STMicroelectronics,简称ST)推出价格实惠且尺寸紧凑的STM32 Nucleo-144系列开发板,加强其对市场领先的STM32系列32位闪存微控制器的支持。新款的144引脚开发板进一步扩大现有STM32开发生态系统的范围,通过提升板上连接通信功能,让客户能够使用从能效最高的到性能最高的任何一款STM32微控制器快速开发应用。 新款开发板完全兼容现有STM32开发生态系统,包括专用的应用扩展插接板,让开发人员能够在最终应用中轻松集成从电机驱动器到环境传感器的专用功能。此外,新开发板还通过三种连接端口提供无限的应用扩展功能,除现有的Nucleo-64板上的Arduino Uno和
[嵌入式]