STM32CubeMX + HAL库学习「附工程源码」( 二 )
文章插图
文章插图
RTC_DateTypeDef sDate; RTC_TimeTypeDef sTime;uint8_t second_tmp = 0;HAL_RTC_GetTime( // 读取时间 HAL_RTC_GetDate( // 读取日期 if(second_tmp != sTime.Seconds) { // 读取秒second_tmp = sTime.Seconds;printf("20%d%d-%d%d-%d%d\r\n",sDate.Year/10%10, sDate.Year%10,sDate.Month/10%10, sDate.Month%10,sDate.Date/10%10, sDate.Date%10);printf("%d%d:%d%d:%d%d\r\n",sTime.Hours/10%10, sTime.Hours%10,sTime.Minutes/10%10, sTime.Minutes%10,sTime.Seconds/10%10, sTime.Seconds%10); }
SDIO + FATFS
- 选择SDIO功能 , Pinout --tt-darkmode-color: #809CB9;"> , Connectivity -> SDIO -> Mode: SD 4bit Wide bus -> 勾选NVIC
文章插图
- 配置SDIO时钟 , Clock Configuration , SDIO模块输入要求为48MHz , 系统提示可以自动设置时钟问题 , 选择Yes 。 SDIO时钟分频系数CLKDIV , 计算公式为SDIO_CK=48MHz/(CLKDIV+2)也可手动修改时钟配置 。
文章插图
- 启用文件系统中间件 , Pinout --tt-darkmode-color: #809CB9;"> , Middleware -> FATFS , 模式选择SD卡 , 配置文件系统:如果要支持中文文件名 , 则配置CODE_PAGE为Simplified Chinese如果要支持长文件名 , 则要使能USE_LEN
文章插图
- 继续上面界面 , Advanced Settings勾选Use dma template
文章插图
- 设置DMA传输 , Pinout --tt-darkmode-color: #809CB9;"> , Connectivity -> SDIO-> DMA Settings
文章插图
- 配置NVIC , Pinout --tt-darkmode-color: #809CB9;"> , System Core -> NVIC 。
文章插图
- 堆栈设置 , Progect Manager -> Project -> Linker Settings , 加大堆栈大小(注意:由于刚才设置长文件名动态缓存存储在堆中 , 故需要增大堆大小 , 如果不修改则程序运行时堆会生成溢出 , 程序进入硬件错误中断(HardFault) , 死循环) 。
文章插图
- 生成工程 , GENERATE CODE, 用KEIL打开
文章插图
UINT bw; retSD = f_mount( if(retSD != FR_OK) {printf("Mount Error :%d\r\n", retSD); } retSD = f_open( if(retSD != FR_OK){printf("Open Error :%d\r\n", retSD); } retSD = f_write( if(retSD != FR_OK){printf("Write Error :%d\r\n", retSD); } f_close( retSD = f_open( char buff[10] = {0}; retSD = f_read( if(retSD == FR_OK){printf("%s\r\n", buff); } f_close(
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 计算机专业大一下学期,该选择学习Java还是Python
- 假期弯道超车 国美学习“神器”助孩子变身“学霸”
- 想自学Python来开发爬虫,需要按照哪几个阶段制定学习计划
- 未来想进入AI领域,该学习Python还是Java大数据开发
- Google AI建立了一个能够分析烘焙食谱的机器学习模型
- 学习大数据是否需要学习JavaEE
- 学习“时代楷模”精神 信息科技创新助跑5G智慧港口
- 非计算机专业的本科生,想利用寒假学习Python,该怎么入手
- ?优学天下带着学习机冲刺上市,智能教育硬件有多烧钱?
- 数据分析与机器学习:侦测应用内机器人作弊关键