STM32F745IG SRAM示波器量不出读信号

2019-07-14 14:05发布

你好,很荣幸用了STM32F745IG,感觉这是一款比较强大,比较好用的一款。
        不过在开发过程中碰到了一点小小的疑惑,在强大的STM面前我还只是菜鸟,希望能指引我走向强者之路:
        问题:参考开发包移植了SRAM ,可是 如果使用如下代码,用示波器量不出读信号.回读回来的也是写入的数据,不过是没有读信 号的回读.
                    atempaddr = (uint8_t *)(DPRAM_LEDBASE + i);
                *(__IO uint8_t  *) atempaddr = 0;
                sl_val =*(__IO uint8_t  *) atempaddr ;
                但是改成了           
                HAL_SRAM_Write_8b(&hsram,(uint32_t *) atempaddr,  &val, 1);
                HAL_SRAM_Read_8b(&hsram, (uint32_t *)atempaddr, &read_val, 1);                结果就成功了,我真是感慨啊,贵公司的函数果然是精品了,应该是我的理解能力有限,希望能给我解惑!
           
        致敬!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
xtl1117
1楼-- · 2019-07-14 17:50
uint8_t --> uint32_t,试试
7762642422d
2楼-- · 2019-07-14 20:45
本帖最后由 moyanming2013 于 2016-7-29 21:07 编辑

官方代码中使用的是uint32_t*,你用的是uint8_t*,如果考虑数据真实到底是多大的话,可能你获取的是高字节的0x00或其它随机值,而实际上atempaddr指向的是一个32位的uint32_t。
实际就是注意大小端和数据大小。
crhm51900928
3楼-- · 2019-07-15 00:58
 精彩回答 2  元偷偷看……
简约之约
4楼-- · 2019-07-15 06:40
uint8_t 改 uint32_t试试看
充电搜索
5楼-- · 2019-07-15 06:45
估计这个是正解,uint8_t 这种方式不确定MCU是否真正有操作。

一周热门 更多>