STM32给传感器加入毫秒级时间戳并写入SD卡

本文主要介绍如何在STM32系统中为IMU传感器数据添加毫秒级时间戳,并将这些带有时间戳的数据有效写入SD卡。在实现过程中,遇到LCD显示时间戳始终为零的问题,通过调整主函数的调用方式解决了该问题。
摘要由CSDN通过智能技术生成

目的是为了给买的IMU加上毫秒级的时间戳,查看[白色泪光]的博客可以得到当时毫秒数:

calendar.msec=(32767-RTC_GetDivider())*1000/32767;

看到链接下方评论的问题,我也遇到了,就是用LCD显示一直为零,作者也给给出答案,毫秒是2个字节,需要:

LCD_ShowNum(132,162,calendar.msec,4,16);

之后还是只有第一次有毫秒数,后面一直为零,直觉是调用问题,自己主函数没处理好,最后我的解决方``案是:

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "key.h"
#include "usmart.h" 
#include "malloc.h"  
#include "MMC_SD.h" 
#include "ff.h"  
#include "exfuns.h"
#include "fattester.h"	
#include "analysis_data.h"
#include "rtc.h"
//ALIENTEK Mini STM32开发板范例代码29
//FATFS 实验  
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司  

    
///
FIL fil;
 FRESULT ress;
 UINT bww;
u8 buf[100];
 
//int InitSDCard(void);
 int main(void)
 {
    
	 
	 
	 //u16 times=0;
	//const u8 newline[]={0X0D,0X0A};
	//u16 times=0; 
	char temp_buf[200];
	char temp1_buf[100];
	 
 	u32 total,free;
	//u16 t;	
	//u16 len;
  //u16 i;
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2 
	delay_init(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值