求救--為什麼啟動OLED加這兩行碼就會當機?

2019-07-20 11:56发布

各位先進,
  晚上好,請教一下
  我買了一個OLED顯示屏
  將例程由F3改為F4,可以順利點亮OLED,也可以顯示字元
  現在要求程式要做一個計算
  因此加上這兩行(紅 {MOD}字那兩行)
  其實是加上紅 {MOD}字第一行就會死機了
  可是拿掉那兩行,又一切正常
  拜託請高手幫我看一下
  我真的沒辦法了
  感謝

#include "stm32f4xx.h"
#include "OLED_I2C.h"
#include "delay.h"
#include "stdio.h"
#include <stdlib.h>
#include <string.h>
#include "math.h"
__IO uint32_t                         TimingDelay = 0;
unsigned char as[12];
float kk=0.0;

int main(void)
{
        extern const unsigned char BMP1[];

        DelayInit();
        I2C_Configuration();
        OLED_Init();
       float kk=0.0
        while(1)
        {  
        kk = 1.41421+kk;
         sprintf (as,"%0.2f", kk);
                 
                OLED_Fill(0x00);//??All OFF
                DelayS(2);
                //for(i=0;i<5;i++)
               OLED_ShowStr(0,3,"1234567890",1);//test 6*8 font
                OLED_ShowStr(0,4,as,2);                                //test 8*16 font
                DelayS(2);
                OLED_CLS();//Clesn Screen??
                OLED_OFF();//TEST screen sleep mode
                DelayS(2);
                OLED_ON();//test screen weak up.
                //OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP1);//test BMP fig. display
                //DelayS(8);
        }
}

void TimingDelay_Decrement(void)
{
  if (TimingDelay != 0x00){
    TimingDelay--;
  }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
lkk400
1楼-- · 2019-07-20 17:52
 精彩回答 2  元偷偷看……
八度空间
2楼-- · 2019-07-20 19:42
 精彩回答 2  元偷偷看……
lkk400
3楼-- · 2019-07-20 20:34
第一行原因找到了,宣告要放在main內
不過第二行還是找不到原因
15623052920
4楼-- · 2019-07-20 22:53
我上系统UCOSIII 遇到这个问题,堆栈8K对齐就可以了。具体原因不知道。
15623052920
5楼-- · 2019-07-21 03:22
 精彩回答 2  元偷偷看……

一周热门 更多>