当执行FRAMWrite_uint64((uint64_t *)FRAM_RECORD_ADDRESS,0); 时,后20*4会被修改为0
原来0xffffffff,0xffffffff,被改为0x0000ffff,0x00000000
当执行FRAMWrite_Long((uint32_t *)FRAM_RECORD_ADDRESS, 0);时,后10*4=40会被修改为0
原来0xffffffff,被改为0x0000ffff,
void FRAMWrite_uint64(uint64_t *pFRAM_write_ptr, uint64_t ui64data)
{
SYSCFG0 &= ~DFWP;
*pFRAM_write_ptr = ui64data;
SYSCFG0 |= DFWP;
}
void FRAMWrite_Long(uint32_t *pFRAM_write_ptr, uint32_t ui32data)
{
SYSCFG0 &= ~DFWP;
*pFRAM_write_ptr = ui32data;
SYSCFG0 |= DFWP;
}
#define FRAM_RECORD_ADDRESS 0x1812
FRAMWrite_uint64((uint64_t *)FRAM_RECORD_ADDRESS,0);
FRAMWrite_Long((uint32_t *)FRAM_RECORD_ADDRESS, 0);
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
楼主,想请问一下,你的常量地址定义有错是什么个情况?
我的是写入的时候,地址内容没有改变,全是FFFFFFFF
一周热门 更多>