OpenEdv-开源电子网

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

请问用lcd液晶显示时,为什么我用字摸软件生成了字库的代码,我把这段字库的代码复制到那个工程文件下,结果显示不了呢

[复制链接]

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2014-4-15
在线时间
0 小时
发表于 2014-4-18 10:04:24 | 显示全部楼层 |阅读模式
请问用lcd液晶显示时,为什么我用字摸软件生成了字库的代码,我把这段字库的代码复制到那个工程文件下,结果显示不了呢
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-4-18 11:11:02 | 显示全部楼层
回复【楼主位】a598009273:
---------------------------------
是不是算法不一样的?显示的时候

确定你那个工程的LCD驱动行的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

29

主题

340

帖子

0

精华

高级会员

Rank: 4

积分
799
金钱
799
注册时间
2013-12-17
在线时间
100 小时
发表于 2014-4-18 11:14:53 | 显示全部楼层
回复【楼主位】a598009273:
---------------------------------
显示不了什么意思?  是乱码?还是没有显示?
就算有一天梦想成真,而你做好准备了吗?
回复 支持 反对

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2014-4-15
在线时间
0 小时
 楼主| 发表于 2014-4-18 11:16:01 | 显示全部楼层
回复【2楼】Badu_Space:
---------------------------------
嗯 ,我用那个工程文件显示过“STD580 BASE”这个字符串,然后我把我用字摸软件生成的字库的代码复制到工程文件下,覆盖掉“STD580 BASE”的字库的那段代码,结果什么也不显示。
回复 支持 反对

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2014-4-15
在线时间
0 小时
 楼主| 发表于 2014-4-18 11:16:28 | 显示全部楼层
回复【3楼】老虎的菜:
---------------------------------
没有显示
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-4-18 11:22:48 | 显示全部楼层
字库取模方式,文字编码排序都一样吗?
回复 支持 反对

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2014-4-15
在线时间
0 小时
 楼主| 发表于 2014-4-18 11:32:00 | 显示全部楼层
回复【6楼】ricefat:
---------------------------------
哦 ,这个没考虑到,我是新手。字库取模方式和文字编码排序都是在字摸软件里设置吗?除了这两个要设置,还有什么要设置吗?
再问一下,就是假如给你一个工程文件,然后里面有一段字库代码,你能根据那段代码判断出它的字库取模方式和文字编码排序吗?
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-4-18 12:00:32 | 显示全部楼层
回复【7楼】a598009273:
---------------------------------
展开二进制叠起来看
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2014-4-15
在线时间
0 小时
 楼主| 发表于 2014-4-18 13:51:50 | 显示全部楼层
回复【8楼】Badu_Space:
---------------------------------
如果我的字库取模方式和文字编码排序都一样,那我生成的字库直接复制过去就能用,是吗?
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-4-18 13:56:16 | 显示全部楼层
回复【9楼】a598009273:
---------------------------------
实验一下吧
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2014-4-15
在线时间
0 小时
 楼主| 发表于 2014-4-18 14:05:43 | 显示全部楼层
回复【10楼】Badu_Space:
---------------------------------
  //  #include"stm32f10x.h"  
#include "includes.h"
#include"delay.h" 
/*任务堆栈设置*/
//开始任务
#define START_TASK_PRIO  10
#define START_STK_SIZE  64
OS_STK START_TASK_STK[START_STK_SIZE];
void start_task(void *pdata);

#define MAIN_TASK_PRIO  9
#define MAIN_STK_SIZE   64
OS_STK MAIN_TASK_STK[MAIN_STK_SIZE];
void main_task(void *pdata);

#define KEY_TASK_PRIO  8
#define KEY_STK_SIZE   64
OS_STK KEY_TASK_STK[KEY_STK_SIZE];
void key_task(void *pdata);

OS_EVENT *msg_key;
OS_EVENT *sem_beep;
void GPIO_Configuration(void)
{GPIO_InitTypeDef GPIO_InitStructure; 
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11; 
GPIO_InitStructure.GPIO_Speed =GPIO_Speed_10MHz; 
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP; 
GPIO_Init(GPIOD, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4; 
GPIO_InitStructure.GPIO_Speed =GPIO_Speed_10MHz; 
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPU; 
GPIO_Init(GPIOD, &GPIO_InitStructure);
}
  void RCC_Configuration(void)
  {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOB | 
RCC_APB2Periph_SPI1, ENABLE);
  }
  void SysClock_Init(void)
{
ErrorStatus HSEStartUpStatus;     
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS){
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
FLASH_SetLatency(FLASH_Latency_2); 
    RCC_HCLKConfig(RCC_SYSCLK_Div1);    
    RCC_PCLK2Config(RCC_HCLK_Div1); 
    RCC_PCLK1Config(RCC_HCLK_Div2);
    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
    RCC_PLLCmd(ENABLE);
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET){
}
    while(RCC_GetSYSCLKSource() != 0x08){
}
}
}
u32 key_scan(void)
 {if(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_0)==0) return 1;
  if(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_1)==0) return 2;
  if(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_2)==0) return 3;
  if(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_3)==0) return 4;
  if(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_4)==0) return 5;
  return 0;
 }
 // void delay(int i)
  //{for(int k=i;k>0:k--)
   //  for(int j=1000;j>0;j--) ;
 // }
int main()
{ SysClock_Init();
      delay_init();
  RCC_Configuration();
  GPIO_Configuration();
  //GPIO_SetBits(GPIOD, GPIO_Pin_8);
  //delay(100);
  OSInit();
  OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//创建起始任务
  OSStart();     

}
void start_task(void* pdata)
{OS_CPU_SR cpu_sr=0;
pdata=pdata;
msg_key=OSMboxCreate((void*)0);
sem_beep=OSSemCreate(0);
OSStatInit();
OS_ENTER_CRITICAL();
OSTaskCreate(key_task,(void *)0,(OS_STK*)&KEY_TASK_STK[KEY_STK_SIZE-1],KEY_TASK_PRIO);    
  OSTaskCreate(main_task,(void *)0,(OS_STK*)&MAIN_TASK_STK[MAIN_STK_SIZE-1],MAIN_TASK_PRIO);
OSTaskSuspend(START_TASK_PRIO); //挂起起始任务.
OS_EXIT_CRITICAL();
}
void main_task(void* pdata)
{u32 key=0;
u8 err;
while(1)
{ delay_ms(1000);
key=(u32)OSMboxPend(msg_key,10,&err);
switch(key)
   { case 1:
if(GPIO_ReadOutputDataBit(GPIOD, GPIO_Pin_8)==Bit_RESET)
         { GPIO_SetBits(GPIOD, GPIO_Pin_8); break;}
else { GPIO_ResetBits(GPIOD, GPIO_Pin_8); break;}

case 2:
if(GPIO_ReadOutputDataBit(GPIOD, GPIO_Pin_9)==Bit_RESET)
          {GPIO_SetBits(GPIOD, GPIO_Pin_9);break; }
else  {GPIO_ResetBits(GPIOD, GPIO_Pin_9); break;}
    case 3:
if(GPIO_ReadOutputDataBit(GPIOD, GPIO_Pin_10)==Bit_RESET)
          {GPIO_SetBits(GPIOD, GPIO_Pin_10);break;}
else { GPIO_ResetBits(GPIOD, GPIO_Pin_10); break;  }
    case 4:
if(GPIO_ReadOutputDataBit(GPIOD, GPIO_Pin_11)==Bit_RESET)
          {GPIO_SetBits(GPIOD, GPIO_Pin_11); break;}
else  {GPIO_ResetBits(GPIOD, GPIO_Pin_11); break;}
 
}
}
}
void key_task(void* pdata)
{
pdata=pdata;
//u32 key=key_scan(void);
while(1)
{//u32 key=key_scan(void);
  if(key_scan())
OSMboxPost(msg_key,(void*)(key_scan()));
}
}
再请教一下,为什么我这个程序编译没错,可下到从开发板里没用呢,一点反应都没有
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-4-18 14:06:57 | 显示全部楼层
回复【11楼】a598009273:
---------------------------------
jlin仿真看下
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2014-4-15
在线时间
0 小时
 楼主| 发表于 2014-4-18 16:38:24 | 显示全部楼层
为什么每次执行到主函数的 OSStart()。

 函数时,程序就执行不下去了?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-4-18 18:56:09 | 显示全部楼层
回复【13楼】a598009273:
---------------------------------
跑到任务里面去了
你在start任务设置个断点试试
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2014-4-15
在线时间
0 小时
 楼主| 发表于 2014-4-19 08:58:10 | 显示全部楼层


程序就是死在这个函数里面了,出不来,怎么回事啊
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-4-19 15:49:39 | 显示全部楼层
我看到你开启了任务运行统计。
要在这里面跑1秒钟才能出来。
你等待了多久?
最好是在OSStatInit函数,后面加一个断电,直接运行到断点处。
如果软件仿真,可能需要10秒钟左右吧。
如果硬件仿真,就应该是1秒钟左右
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-10 06:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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