LCD显示程序问题

2019-10-11 14:26发布

[mw_shl_code=applescript,true]#include "stm32f10x.h"
#include "lcd.h"

u32 TimingDelay = 0;

void Delay_Ms(u32 nTime);

//Main Body  
int main(void)
{

        STM3210B_LCD_Init();
        LCD_Clear(Yellow);
        LCD_SetBackColor(Yellow);//±3¾°ÑÕé«
        LCD_SetTextColor(Red); //Îı¾ÑÕé«
        LCD_PowerOn();
        SysTick_Config(SystemCoreClock/1000);//¶¨ê±1ms

        LCD_DrawLine(120,0,320,Horizontal);
        LCD_DrawLine(0,160,240,Vertical);
        Delay_Ms(1000);
       
        LCD_Clear(Blue);
        LCD_DrawRect(70,210,100,100);
        Delay_Ms(1000);
       
        LCD_Clear(Red);
        LCD_DrawCircle(120,160,50);
        Delay_Ms(1000);

        LCD_Clear(White);
        LCD_DisplayStringLine(Line0 ,(unsigned char*)"    fangchunxin       ");
        LCD_DisplayStringLine(Line1 ,(unsigned char*)"      COME ON         ");
        Delay_Ms(1000);

        LCD_SetBackColor(White);//°×é«
        LCD_DisplayStringLine(Line0,"                    ");       
        LCD_SetBackColor(Black);//oúé«
        LCD_DisplayStringLine(Line1,"                    ");       
        LCD_SetBackColor(Grey);//»òé«
        LCD_DisplayStringLine(Line2,"                    ");
        LCD_SetBackColor(Blue);//à¶é«
        LCD_DisplayStringLine(Line3,"                    ");
        LCD_SetBackColor(Blue2);//Ç3à¶é«
        LCD_DisplayStringLine(Line4,"                    ");
        LCD_SetBackColor(Red);//oìé«                               
        LCD_DisplayStringLine(Line5,"                    ");
        LCD_SetBackColor(Magenta);//ç-oìé«       
        LCD_DisplayStringLine(Line6,"                    ");
        LCD_SetBackColor(Green);//Âìé«       
        LCD_DisplayStringLine(Line7,"                    ");       
        LCD_SetBackColor(Cyan);//        Çàé«
        LCD_DisplayStringLine(Line8,"                    ");
        LCD_SetBackColor(Yellow);//»Æé«       
        LCD_DisplayStringLine(Line9,"                    ");       
        while(1);
               
}

//
void Delay_Ms(u32 nTime)
{
        TimingDelay = nTime;
        while(TimingDelay != 0);       
}
[/mw_shl_code]


这段代码为什么只能执行到第一个延时函数处,就执行不下去了?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
春心荡漾
1楼-- · 2019-10-11 19:07
就是为什么LCD驱动程序中的主函数复制到其他工程中就不能用,但是编译是没有错误和警告的
春心荡漾
2楼-- · 2019-10-12 01:06
@正点原子 @正点原子
hgr211
3楼-- · 2019-10-12 03:29
timedelay,应该是在一个时间中断里面去自减的,你看看你是不是定时中断程序没有,或者中断没开。看你程序应该是滴答做的定时中断。自己多看看书,这点小事很容易解决
XUZJWWSZ
4楼-- · 2019-10-12 03:52
 精彩回答 2  元偷偷看……
春心荡漾
5楼-- · 2019-10-12 09:21
XUZJWWSZ 发表于 2017-3-21 09:31
单步调试看一看,没报错不代表没警告,没警告也不代表就能正常运行。

好的,谢谢
春心荡漾
6楼-- · 2019-10-12 13:06
hgr211 发表于 2017-3-21 08:27
timedelay,应该是在一个时间中断里面去自减的,你看看你是不是定时中断程序没有,或者中断没开。看你程序应 ...

好的,谢谢

一周热门 更多>