这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » (STM32_RAM调试)库函数操作篇(库函数操作:实验2 按键输入)蒋粤 AR

共56条 3/6 1 2 3 4 5 6 跳转至
助工
2012-05-16 17:14:21     打赏
21楼

能显示字符啦

这是液晶驱动文件。
lcd.rar


助工
2012-05-17 16:15:19     打赏
22楼
MAX232好像坏了,串口不能用了。但我现在的程序有用到串口输出调试信息都运行不了,按理说我的MAX232坏不影响STM32F103ZE芯片的,希望有这类问题的大虾请教!

助工
2012-05-18 09:42:48     打赏
23楼

助工
2012-05-18 11:34:03     打赏
24楼



我的是2G的卡,为什么读到的DeviceSize是3799Mb?
ST官方的部分程序是如下:
 /* Byte 6 */
  tmp = (u8)((CSD_Tab[1] & 0x0000FF00) >> 8);
  cardinfo->SD_csd.PartBlockRead = (tmp & 0x80) >> 7;
  cardinfo->SD_csd.WrBlockMisalign = (tmp & 0x40) >> 6;
  cardinfo->SD_csd.RdBlockMisalign = (tmp & 0x20) >> 5;
  cardinfo->SD_csd.DSRImpl = (tmp & 0x10) >> 4;
  cardinfo->SD_csd.Reserved2 = 0; /* Reserved */
  cardinfo->SD_csd.DeviceSize = (tmp & 0x03) << 10;

  /* Byte 7 */
  tmp = (u8)(CSD_Tab[1] & 0x000000FF);
  cardinfo->SD_csd.DeviceSize |= (tmp) << 2;

  /* Byte 8 */
  tmp = (u8)((CSD_Tab[2] & 0xFF000000) >> 24);

  cardinfo->SD_csd.DeviceSize |= (tmp & 0xC0) >> 6;
  cardinfo->SD_csd.MaxRdCurrentVDDMin = (tmp & 0x38) >> 3;
  cardinfo->SD_csd.MaxRdCurrentVDDMax = (tmp & 0x07);

搞不懂这三条红色标出的语句。


助工
2012-05-18 15:38:48     打赏
25楼

哦,看来还有得搞。谢了!


助工
2012-05-18 16:58:53     打赏
26楼



 本程序共创建了6个任务:
 (1) u/COS-II Idle任务,这是由操作系统创建的空闲任务,优先级最低

 (2) u/COS-II Stat任务,这是由操作系统创建的统计任务,统计CPU运行时间、CPU占用率等

 (3) u/COS-II Tmr任务,这是由操作系统创建的定时器任务,为应用程序提供软件定时器,未用

 (4) AppTaskStart任务,这是由用户创建的启动任务,完成如下工作:
  (a) 初始化BSP
  (b) 创建1个邮箱AppUserIFMbox
  (c) 创建2个任务,1个是用户界面任务AppTaskUserIF,1个是按键检测任务AppTaskKbd
  (d) 之后控制LED1指示灯按照100ms的周期闪烁   

 (5) AppTaskKbd任务,这是由AppTaskStart创建的按键检测任务
   按键检测任务AppTaskKbd实时检测USER键和TAMPER键的状态,当有键按下时,则向邮箱AppUserIFMbox
  发送一条消息,消息内容为按键码变量的指针。

 (6) AppTaskUserIF任务,这是由AppTaskStart创建的用户界面任务   
   户界面任务AppTaskUserIF等待邮箱中的消息,如果USER键按下的消息则打印u/COS-II系统信息,如果
  收到TAMPER键按下则打印所有的任务名称和任务优先级;如果没有收到任何信息则打印一个旋转的字符和
  CPU运行时间(单位为1个滴答)。


    将开发板的COM1串口用一根直连串口线连接到计算机的RS232串口或者用USB转RS232串口线连接到计算机USB口
 - 计算机上运行超级终端软件(windows开始菜单-附件-通信-超级终端)或者串口工具软件SecureCRT
  注意:其它一些串口助手之类的软件不支持控制指令,将导致用户看不到字符旋转效果
 - 程序运行后,串口软件的窗口将显示一个旋转的字符和动态的CPU运行时间,刷新周期为100ms
 - 当按下USER键时,串口软件的窗口将显示u/COS-II系统信息,如下 :
Micrium uC/OS-II
ST STM32 (Cortex-M3)
  uC/OS-II  : V2.86
  TickRate  : 1000
  CPU Usage : 00%
  CPU Speed : 72 MHz
  #Ticks    : 113
  #CtxSw    : 9
 - 当按下TAMPER键时,串口软件的窗口将显示u/COS-II系统所有的任务名称和对应的任务优先级,如下:
 Micrium uC/OS-II   
ST STM32 (Cortex-M3)
  Prio   Used  Free  Per  Taskname
   31     68    444  13% uC/OS-II Idle
   30     84    428  16% uC/OS-II Stat
    3    152   1896  07% Start Task
   12    248    776  24% Keyboard
    4    124    388  24% User I/F


助工
2012-05-19 11:21:15     打赏
27楼
源代码:rt-thread 0.3.0 for STM32F103ZE.rar
RT-Thread RTOS
是一款来自中国的开源实时操作系统,由国内一些专业开发人员开发、维护

助工
2012-05-19 23:09:43     打赏
28楼

SDRAM读写成功!


助工
2012-05-19 23:11:08     打赏
29楼

  /*将写SRAM的数据BUFFER填充为从0x1234开始的连续递增的一串数据 */
  Fill_Buffer(TxBuffer, BUFFER_SIZE, 0x1234);
  /*将数据写入到SRAM中。WRITE_READ_ADDR:写入的起始地址*/
  FSMC_SRAM_WriteBuffer(TxBuffer, WRITE_READ_ADDR, BUFFER_SIZE);

  /*从SRAM中读回刚写入的数据。WRITE_READ_ADDR:读出数据的起始地址*/
  FSMC_SRAM_ReadBuffer(RxBuffer, WRITE_READ_ADDR, BUFFER_SIZE); 

  /*判断读回的数据与写入的数据是否一致*/  
  for (Index = 0x00; ((Index < BUFFER_SIZE) && (WriteReadStatus == 0)); Index++)
  {
     if (RxBuffer[Index] != TxBuffer[Index])
      {
          WriteReadStatus = Index + 1;
      }
  } 
  printf("\n\r SRAM读写访问程序运行结果: ");
  if (WriteReadStatus == 0)
  { 
      printf("\n\r SRAM读写访问成功");
     GPIO_ResetBits(GPIO_LED, DS2_PIN);
  }
  else
  {   
      printf("\n\r SRAM读写访问失败");
     GPIO_ResetBits(GPIO_LED, DS3_PIN);
  }


助工
2012-05-19 23:22:21     打赏
30楼
我是抄ST官方例程的,照葫芦画瓢!

共56条 3/6 1 2 3 4 5 6 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]