OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9273|回复: 3

显示u32数字出错

[复制链接]

181

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1055
金钱
1055
注册时间
2012-8-26
在线时间
52 小时
发表于 2012-9-26 15:09:16 | 显示全部楼层 |阅读模式

在程序里定义一个U32的变量,然后将它减去1,再显示在用35位LCD上 你会发现会出现一个32位长的10进制数字,这就是错误了,u32最大也只能表示出429496726的正整数

现在怎么出现一个32位的不明数据(后10位是正确的,前面多了22位不知道哪里出错了)   为什么会出现这个情况?我还没仔细研究过,不够先发表一文章说明一下


 

#include <stm32f10x_lib.h>
#include "sys.h"
#include "usart.h"  
#include "delay.h" 
#include "led.h"
#include "key.h"
#include "exti.h"
#include "wdg.h"
u32 a=2;

void TIM2_IRQHandler(void)
{   TIM2->SR&=~(1<<0);//清除中断标志位                    
  a--;
  
  LED0=!LED0;                             
       
 
}

 
  void Time_Init(u16 arr,u16 psc)
{
 RCC->APB1ENR|=1<<0;//TIM3时钟使能   
  TIM2->ARR=arr;  //设定计数器自动重装值//刚好1ms   
 TIM2->SC=psc;  //预分频器7200,得到10Khz的计数时钟
 //这两个东东要同时设置才可以使用中断
 TIM2->DIER|=1<<0;   //允许更新中断    
 TIM2->DIER|=0<<6;   //允许触发中断
              
 TIM2->CR1|=0x01;    //使能定时器3
   MY_NVIC_Init(1,3,TIM2_IRQChannel,2);//抢占1,子优先级3,组2         
}   
//Mini STM32开发板范例代码5
//独立看门狗实验
//正点原子@ALIENTEK
//技术论坛:www.openedv.com      
int main(void)
{   
  Stm32_Clock_Init(9); //系统时钟设置
 delay_init(72);      //延时初始化
 uart_init(72,9600);  //串口初始化
 LCD_Init();
 LED_Init();      //初始化与LED连接的硬件接口
 KEY_Init();          //按键初始化 
 delay_ms(300);     //让人看得到灭
 IWDG_Init(4,625);    //与分频数为64,重载值为625,溢出时间为1s   
 Time_Init(7199,1);
 LED0=0;     //点亮LED0
 while(1)
 {
  if(KEY0==1)IWDG_Feed();//如果WK_UP按下,则喂狗
  LCD_ShowNum(0,0,a,35,12);
  
 } 
}

 

 

 

为了雅典娜?为了爱与正义
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2012-9-26 15:17:11 | 显示全部楼层
检查你的LCD显示函数吧,  最多显示多少位正确
回复 支持 反对

使用道具 举报

181

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1055
金钱
1055
注册时间
2012-8-26
在线时间
52 小时
 楼主| 发表于 2012-9-26 16:18:06 | 显示全部楼层
回复【2楼】aleda303:
---------------------------------
检查了  错误是  (u32)429496726/10*10^32 (自动去掉小数部分) 计算结果竟然是1,(很明显这个算式应该是0才对)
为了雅典娜?为了爱与正义
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-9-26 22:31:19 | 显示全部楼层
回复【3楼】wsnfly:
---------------------------------
仿真跟踪下.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-20 10:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表