代码拉取完成,页面将自动刷新
同步操作将从 AKAtople/基于STM32-HX711的电子秤 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include "stm32f10x.h" // Device header
// Attention: flash擦写次数为10万次,故不可在死循环中反复调用flash函数 //
/**
* @brief flash写入数据
* @param add 32位flash地址
* @param dat 16位数据
* @retval 无
*/
void FLASH_W(u32 add,u8 dat1)
{
FLASH_Unlock(); //解锁FLASH编程擦除控制器
FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);//清除标志位
FLASH_ErasePage(add); //擦除指定地址页
FLASH_ProgramHalfWord(add,dat1); //从指定页的addr地址开始写
FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);//清除标志位
FLASH_Lock(); //锁定FLASH编程擦除控制器
}
/**
* @brief FLASH读出数据
* @param add 32位读出FLASH地址
* @retval 16位数据
*/
u16 FLASH_R(u32 add)
{
u16 a;
a = *(u16*)add;
return a;
}
/**
* @brief 擦除指定FLASH地址页内的内容
* @param add 32位FLASH地址
* @retval 无
*/
void FLASH_Clear(u32 add)
{
FLASH_Unlock(); //解锁FLASH编程擦除控制器
FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);//清除标志位
FLASH_ErasePage(add); //擦除指定地址页
FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);//清除标志位
FLASH_Lock();
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。