完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我目前正在设置STM32F407以评估使用瑞萨R61526A显示控制器的显示模块。 我能够使用CubeMX设置项目没有问题,FSMC似乎正在工作。 但是我注意到输出数据字是大端,但我很确定所有STM32都是小端(当使用示波器监视D0-16输出时,uint16_t 0x51ab作为变量变为0xab51)。我没想到FSMC会改变输出的字节顺序。
我希望输出也是小端的,所以我做了一些明显错误的事情吗?显而易见的解决方案是将数据读/写为 *LCDRWregisteraccess= (uint16_t)((0xff00&dataword)>>8)|(0x00ff&dataword<<8));或者只是使用REV16指令,但我想知道FSMC中是否存在我缺少的配置或者我做错了什么。 这也是我的第一个堆栈交换问题,所以如果我没有正确地提出问题,请随意指出 提前谢谢了! |
|
相关推荐
6个回答
|
|
目前还不清楚你在这里问什么。您期望发生什么,实际行为如何偏离预期?例如,数据的MSB是否显示在D15线或D0线上?
|
|
|
|
我期望输出具有与变量相同的位和字节字节顺序(由于STM32是小端,我期望输出相同)。关于你的问题,MSB代表D7线。D8上的LSB等等。简单的解决方法是使用REV16指令,但我很好奇系统的行为方式。我会尽力表达这个问题,谢谢
|
|
|
|
所以,很明显,你在D0线上看到了MSB。
|
|
|
|
不,可以在D7线上看到MSB。如果要从总线输出的数据为0xC000,则在总线上显示为0x00C0。切换上部和下部字节。实际字节中的位顺序不受影响。
|
|
|
|
您使用了16位写入奇数地址(0x63FFF00F),这可能解释了现在的结果。
|
|
|
|
谢谢楼上的解答,在为16位数据字配置FSMC时访问奇数字节使得它执行双重访问(2次写操作),其中字节的顺序错误。
我的地址现在是: #define LCD_CMD 0x60030000 #define LCD_DATA 0x60000000 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1464 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
816 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1200 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1674 浏览 1 评论
548 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-11 05:24 , Processed in 0.577101 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号