急! 数据格式转换? unsigned short 转换为char型

2019-08-14 02:12发布

 我现在在MINISTM32开发板上已经成功移植了FATFS0.08,可以实现 .txt文件创建与读写, 也可以创建文件夹. 现在的问题是我想实现根据STM32  RTC得到的日期创建文件夹和利用时间创建.txt文件,可是在创建文件夹的过程中发现时数据格式不对,问题如下: 1 RTC中返回日期和时间是通过tm结构体,
     typedef struct 
     {
         u8 hour;
         u8 min;
         u8 sec;   
         //公历日月年周
         u16 w_year;
         u8  w_month;
         u8  w_date;
         u8  week;   
     }tm;      
     extern tm timer;
2 u16 w_year ;的定义如下: typedef  unsigned short  u16; (见stm32f10x_type.h 第40行)
3 创建文件目录函数声明 FRESULT f_mkdir (const TCHAR*); 
4 TCHAR声明  typedef char TCHAR;(FATFS 中Ff.h 066行) 问题是如何将u16类型数据转换为TCHAR型字符?  或者有没有其他更好实现上述功能的方法,多谢指点!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
葱花鱼
2019-08-14 08:06
原子哥:
DWORD get_fattime (void) ;这个函数我看懂了,九九的程序里面这个返回的时间也是根据RTC提供的数据然后经过移位按照一定规则组成的一个32位数据.  我想实现的过程是: 例如现在时间是2011-09-28 13:22  我想创建一个20110928的文件夹.    而和FRESULT f_mkdir (const TCHAR*);创建目录的数据格式不对, get_fattime 返回的是32位的,而TCHAR是8位,我用get_fattime 没有实现才直接利用RTC程序中的数据timer.w_year也是数据格式不对 

一周热门 更多>