首页 » 人工智能 » 沁恒 CH32V208 开拓版+ U盘/ SD NAND免费试用读写与多功能数码相框

沁恒 CH32V208 开拓版+ U盘/ SD NAND免费试用读写与多功能数码相框

苏州金螳螂建筑装饰股份通讯 2025-03-23 0

扫一扫用手机浏览

文章目录 [+]

图1是U盘读写功能的测试条件及构成,在利用厂家例程的情形下其测试结果如图2所示,由此可解释其读写功能正常。

图1 测试条件

沁恒 CH32V208 开拓版+ U盘/ SD NAND免费试用读写与多功能数码相框 沁恒 CH32V208 开拓版+ U盘/ SD NAND免费试用读写与多功能数码相框 人工智能

图2 测试结果

沁恒 CH32V208 开拓版+ U盘/ SD NAND免费试用读写与多功能数码相框 沁恒 CH32V208 开拓版+ U盘/ SD NAND免费试用读写与多功能数码相框 人工智能
(图片来自网络侵删)

图3是进行测试的文本文件及其内容,由于文件前段所存放的是单字节的字符信息,故可以确保显示与存储内容的同等性,若是存放汉字信息会因读取字节数的问题而涌现非常。

图3 测试文件

为了实现数码相框的功能,实现在U盘读写功能的根本上为其添加了TFT屏的显示功能,其显示读取数据的效果如图4所示。

图4 显示测试

随后,可将处理过的图像数据存放到文件中以供读取和图像再现。

在图像再现的过程中,其关键的地方便是按图像文件的大小来限定读取数据的数量,并将2个字节的数据拼接成一个16位的色彩数据从而在屏幕上绘制出一个彩色点。

通过读取U盘的图像数据文件,来就可实现图像再的现。
在具有多个图像数据文件的情形下,依顺序进行显示就可形成了一个具有图片浏览效果的数码相框,其显示效果如图5和图6所示。

图5 显示效果

图6 读取状态

通过读取U盘图像数据实现图像再现的函数为:

void UDisk_PHOTO( void ){uint8_t ret;uint8_t i,t;uint16_t TotalCount = 0;uint8_t w=0;while(1){Address_set(0+w20,0+w20,159+w20,79+w20);if(w==0) strcpy( (char )mCmdParam.Open.mPathName,"/PHOTO/HKTK.BIN" );if(w==1) strcpy( (char)mCmdParam.Open.mPathName, "/PHOTO/FJAA.BIN" );if(w==2) strcpy( (char)mCmdParam.Open.mPathName, "/PHOTO/HYAA.BIN" ); ...if(w==7) strcpy( (char)mCmdParam.Open.mPathName, "/PHOTO/HKTK.BIN" );ret= CHRV3FileOpen( );if ( ret == ERR_MISS_DIR || ret ==ERR_MISS_FILE ) {LCD_ShowString(20,10,"NOFIND ... ");}else{TotalCount = N;Delay_Ms(10);while ( TotalCount ){if ( TotalCount >(MAX_PATH_LEN-1) ){t = MAX_PATH_LEN-1;}else{t = TotalCount; }ByteCount = t;ByteBuffer= &Com_Buffer[0];ret = CHRV3ByteRead( );TotalCount -= ByteCount;for ( i=0; i!= ByteCount; i++ ){LCD_WR_DATA8(ByteBuffer[i]);}if (ByteCount < t ){LCD_WR_DATA8(ByteBuffer[i]);break;}}i = CHRV3FileClose( ); mStopIfError( i );}w++;//显示:RTC电子时钟 & 环境状态if(w==8){ w=0; while(Bit_SET==GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1));//显示:RTC电子时钟 & 环境状态}}Delay_Ms(500);}}

实现数码相框功能的主程序为:

int main(void){Delay_Init( );Udisk_USBH_Initialization( );key_INIT();App_TFTInit();tft_Init();LCD_Clear(RED);BACK_COLOR=RED;POINT_COLOR=YELLOW;LCD_ShowString(20,10," CH32V208");while(1){UDisk_USBH_ByteOperation( );}}

其余,还可添加RTC电子时钟及环境状态(如利用BH1750进行光照强度检测等)的显示功能等,见图7所示。

在实现RTC电子时钟功能时,需在文件ch32v20x_it.c中添加以下函数内容:

void RTC_IRQHandler(void){ if (RTC_GetITStatus(RTC_IT_SEC) != RESET) {RTC_Get(); } if(RTC_GetITStatus(RTC_IT_ALR)!= RESET) {RTC_ClearITPendingBit(RTC_IT_ALR);RTC_Get(); } RTC_ClearITPendingBit(RTC_IT_SEC|RTC_IT_OW); RTC_WaitForLastTask();}

并在文件ch32v20x_it.h中添加以下函数:

u8 RTC_Get(void);

在文件Udisk_Func_BasicOp.c中添加以下函数内容:extern u8 RTC_Get(void);

extern vu8 houra;

extern vu8 mina;

extern vu8 seca;

图7 电子时钟测试

在图片显示过程中,实现RTC显示的语句为:

RTC_Get();

LCD_ShowNum(240,60,houra,2);

LCD_ShowNum(264,60,mina,2);

LCD_ShowNum(288,60,seca,2);

Delay_Ms(500);

此外,它除了支持U盘的读取,还支持对CS SD NAND (贴片式TF卡/SD卡) 这类器件的利用,将图8多功能测试所示。

图8

图9

CS SD NAND 不用写驱动程序自带坏块管理的NAND Flash(贴片式TF卡),尺寸小巧,大略易用,兼容性强,稳定可靠,固件可定制,LGA-8封装,标准SDIO接口,兼容SPI/SD接口,兼容各大MCU平台,可替代普通TF卡/SD卡,尺寸6x8mm毫米,内置SLC晶圆擦写寿命10万次,通过1万次随机掉电测试耐高低温,支持工业级温度-40°~+85°,机贴手贴都非常方便,速率级别Class10(读取速率23.5MB/S写入速率12.3MB/S)标准的SD 2.0协议使得用户可以直接移植标准驱动代码,省去了驱动代码编程环节。
支持TF卡启动的SOC都可以用SD NAND,供应STM32参考例程及原厂技能支持,主流容量:128MB/512MB/2GB/4GB/8GB,比TF卡稳定,样品可找雷龙发展申请免费样品测试。

标签:

相关文章

新华社聚焦长安智好手机家当

7月15日,新华社广东分社副总编辑叶前带领专题采访团到长安,就长安智好手机家当成熟的集群效应和高质量发展进行专题采访。副镇长戴浩平...

人工智能 2025-04-01 阅读0 评论0

文化与产品:设计中的融会与立异

一、文化元素的融入产品设计可以从文化中汲取灵感,将文化元素融入个中。比如,中国传统文化中的图案、色彩、符号等常常被利用在当代产品设...

人工智能 2025-04-01 阅读0 评论0