完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在移植fatfs的时候,把字符表放到片内flash中可以实现中文读写,但是因为那个字符表太大了,宝贵的片内flash不能浪费在这儿啊,所以就想把字符表放在片外flash,但是在这过程中遇到一件怪事,
首先: if (dir) { TableBasePage=OEM2UNI_TABLE_BASE*256; /* OEMCP to unicode */ hi =87172/ 4 - 1; } else { TableBasePage=UNI2OEM_TABLE_BASE*256; /* Unicode to OEMCP */ hi =87172/ 4 - 1; } 单步调试,看到dir=0,但是却执行的上面那段程序,还请高手指点下。 其次: u16 ReadByte(u32 addr) { u16 buf=0; Select_Flash(); SPI_Flash_Write(FAST_READ_DATA); SPI_Flash_Write((addr>>16) & 0xff); SPI_Flash_Write((addr>>8) & 0xff); SPI_Flash_Write(addr & 0xff); SPI_Flash_Write(0); buf=(u16)SPI_Flash_Read(); buf=(buf<<8)+(u16)(SPI_Flash_Read()); NotSelect_Flash(); count++; return buf; } 是这个函数,通过调用这个函数把flash中的字符读出来, 在主函数中调用下面这个函数把片外flash中所有的字符全读出了,发现没有错误,但是在fatfs字符转换函数中调用时,返回值全是0xffff,(进去的地址是对的,返回值是错的),还请高手不吝赐教。 for(i=0;i<43586;i++) { printf("0x%x ",ReadByte(UNI2OEM_TABLE_BASE*256+(i<<1))); } |
|
相关推荐
2个回答
|
|
|
|
|
|
那应该是你读取的时候计算/读取有误吧.
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1641 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1562 浏览 1 评论
990 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
691 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1610 浏览 2 评论
1869浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
655浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
525浏览 3评论
541浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
514浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 14:02 , Processed in 0.755696 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号