能显示字符啦
这是液晶驱动文件。
lcd.rar

我的是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);
搞不懂这三条红色标出的语句。

本程序共创建了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
/*将写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);
}
回复
我要赚赏金打赏帖 |
|
|---|---|
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
| OK1126B-S开发板下多时段语音提示型电子时钟被打赏¥27元 | |
| OK1126B-S开发板下函数构建及步进电机驱动控制被打赏¥25元 | |
| 【S32K3XX】LPI2C 参数配置说明被打赏¥20元 | |
| OK1126B-S开发板的脚本编程及应用设计被打赏¥27元 | |
| 5v升压8.4v两节锂电池充电芯片,针对同步和异步的IC测试被打赏¥35元 | |
| 【S32K3XX】S32DS LPI2C 配置失败问题解决被打赏¥22元 | |
| 【S32K3XX】FLASH 的 DID 保护机制被打赏¥19元 | |



我要赚赏金
