OpenEdv-开源电子网

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

LCD显示程序问题

[复制链接]

25

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2016-12-6
在线时间
40 小时
发表于 2017-3-19 20:27:12 | 显示全部楼层 |阅读模式
1金钱
[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]


这段代码为什么只能执行到第一个延时函数处,就执行不下去了?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

25

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2016-12-6
在线时间
40 小时
 楼主| 发表于 2017-3-19 20:48:09 | 显示全部楼层
就是为什么LCD驱动程序中的主函数复制到其他工程中就不能用,但是编译是没有错误和警告的
回复

使用道具 举报

25

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2016-12-6
在线时间
40 小时
 楼主| 发表于 2017-3-19 21:17:47 | 显示全部楼层
@正点原子 @正点原子
回复

使用道具 举报

4

主题

380

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3088
金钱
3088
注册时间
2015-10-17
在线时间
320 小时
发表于 2017-3-21 08:27:53 | 显示全部楼层
timedelay,应该是在一个时间中断里面去自减的,你看看你是不是定时中断程序没有,或者中断没开。看你程序应该是滴答做的定时中断。自己多看看书,这点小事很容易解决
回复

使用道具 举报

33

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
587
金钱
587
注册时间
2015-1-9
在线时间
80 小时
发表于 2017-3-21 09:31:46 | 显示全部楼层
单步调试看一看,没报错不代表没警告,没警告也不代表就能正常运行。
君子性非异也,善假于物也
不知常,妄作,凶
纵浪大化中,不喜亦不惧,应尽便须尽,无复独多虑
路漫漫其修远兮,吾将上下而求索
菩萨畏因,凡夫畏果
回复

使用道具 举报

25

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2016-12-6
在线时间
40 小时
 楼主| 发表于 2017-3-21 12:08:22 | 显示全部楼层
XUZJWWSZ 发表于 2017-3-21 09:31
单步调试看一看,没报错不代表没警告,没警告也不代表就能正常运行。

好的,谢谢
回复

使用道具 举报

25

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2016-12-6
在线时间
40 小时
 楼主| 发表于 2017-3-21 12:08:35 | 显示全部楼层
hgr211 发表于 2017-3-21 08:27
timedelay,应该是在一个时间中断里面去自减的,你看看你是不是定时中断程序没有,或者中断没开。看你程序应 ...

好的,谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-25 03:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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