当前位置: 首页 > news >正文

wordpress默认缩略图网站优化排名的方法

wordpress默认缩略图,网站优化排名的方法,公司flash网站模板,河南专业网站建设创新中心故障现象1 G0系列#xff0c;写片上FLASH时#xff0c;经常死机#xff0c;而且按复位键都没用#xff0c;属于不断电都救不回来的那种死法。这种情况一般是由硬件置位了某个标志导致#xff0c;只有断电才能故障复原。 故障查找 检查FLASH的相关寄存器#xff0c;发现…故障现象1 G0系列写片上FLASH时经常死机而且按复位键都没用属于不断电都救不回来的那种死法。这种情况一般是由硬件置位了某个标志导致只有断电才能故障复原。 故障查找 检查FLASH的相关寄存器发现死机后SR寄存器如下图 正常情况下SR的值应该是等于0如果哪一位不为0则是出现了相应的错误。 上面的截图不仅仅是在死机之后出现即使按下复位键仍然是这样通过操作寄存器可以消除PGAERR和PGSERR两个标志位但不能消除CFGBSY。 查手册发现CFGBSY位是硬件置位和清0的所以无法手动消除。 看来按复位键后仍然不能正常工作的原因找到了只要想办法清除这个标志位即可。 故障解决 通过向Flash的任意一个地址直接写一个数当然是不按照FLASH的操作流程。 数值无所谓。反正也不会真正写入数据的。 这时硬件会对FLASH的CFGBSY位清0并将PGAERR和PGSERR两个标志位置位。 再手动对PGAERR和PGSERR两个标志位清0即可。 代码如下 //向任意地址写一个数数值任意在Flash的SR寄存器中硬件会自动清除CFGBSY标志同时产生2个错误 //再手动清除这两个错误标志即可清除CFGBSY标志 void LL_flash_clear_cfgbsy(void) //CFGBSY标志无法软件清除只能通过制造错误让硬件清除 {if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_CFGBSY) ! 0x00U){*(uint32_t *)(0x08001000) 1; //向FLASH任意位置写一个数__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGAERR) ;//清除2个标志位__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGSERR) ;} }故障现象2 G0系列的FLASH写入是双字模式也就是一次写入8字节即64位。 STM32G030C8T6的一页是2K字节也就是256个u64。 当我写入的数据比较多时比如一次写整整一页这时就必然会在接近完成的时候发生写入错误代码如下 //直接写入FLASH在写入前不检查FLASH内容是否为空 u8 LL_flash_write_without_check(u32 addr, u64* pdata64, u16 len) {u16 i,j;u8 ret;u64 read;u64 write;u8 err0;HAL_FLASH_Unlock();for(j0; jlen; j){for(i0; i10; i) //不超过10次的重复操作以保证写入成功{ret HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, addrj*8, *(pdata64j));if(ret HAL_OK){read *(__IO uint64_t *)(addrj*8); //在MCU认为写入正确以后再次读取数据并进行比对如果比对不成功说明写入出错write *(pdata64j);if(read write)break;else{ret 255;return ret;}}elseerr 1;}}HAL_FLASH_Lock();return 0; }每次都会在写入超过0xe0也就是224个数据之后出现错误也可能是225或者226227不会再更大了。换了板子也是同样的故障。 具体情况就是HAL_FLASH_Program返回值为0表示写入成功但是再次读取数据时读出的数据与写入的数据不相等。 故障解决 不得已对代码进行了修改如下 //直接写入FLASH在写入前不检查FLASH内容是否为空 u8 LL_flash_write_without_check(u32 addr, u64* pdata64, u16 len) {u16 i,j;u8 ret;u64 read;u64 write;u8 err0;HAL_FLASH_Unlock();for(j0; jlen; j){for(i0; i10; i) //不超过10次的重复操作以保证写入成功{write *(pdata64j);ret HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, addrj*8, write);if(ret HAL_OK){read *(__IO uint64_t *)(addrj*8); //在MCU认为写入正确以后再次读取数据并进行比对如果比对不成功说明写入出错if(read write)break;else{ret 255;HAL_FLASH_Lock();return ret;}}else{err 1;}}}HAL_FLASH_Lock();return 0; }其实修改的就是 ret HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, addrj*8, *(pdata64j));改成了 write *(pdata64j);ret HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, addrj*8, write);故障排除。而这两种方式是完全等价的啊。难道是编译器出问题了 唉问题解决就行。
http://www.dnsts.com.cn/news/175697.html

相关文章:

  • 企业快速建站系统怎样用eclipse做网站
  • 传统门户网站有哪些软广告经典案例
  • 网站推广的宣传途径逻辑图在线制作网站
  • 网站开发建设与维护企业网站建设策划书方案范文
  • win2008系统做网站代理网店加盟
  • 常州网站建设公司效果深圳华强北有什么好玩的
  • 官网建设银行网站烟台网站建设公司
  • 营销型网站盈利模式建设银行明细网站能查多久
  • 肥东建设局网站一二三四免费观看高清视频
  • 友情链接的网站有哪些公司基础建设的意义
  • 简述网站推广的基本方法c2c模式成功案例分析
  • 扬中网络推广淄博seo怎么选择
  • 兴力网站建设做dnf钓鱼网站
  • 什么网站能看到专业的做面包视频网站管理公司
  • h5建站系统创意设计团队
  • 江西省建设工程协会网站查询长沙网站微信开发
  • 厦门建网站做优化网站建设的标准化建设是什么
  • 淄博北京网站建设公司国内免费的ip地址
  • 服务类网站建设洛阳生活网
  • 网站建设推广技术网站管理平台模板
  • 自己做的网站添加域名中软国际软件培训收费
  • 注册网站时跳过验证码小说网站开发实录
  • 两个网站做的h5如何合在一起企业vi品牌设计
  • 广东建设厅证件查询网站大庆网页制作公司电话
  • 如何做好一个外贸进网站的编辑万户 网站建设
  • 如何看网站的流量平台制作计划
  • 网站上传视频教程东莞seo网络推广
  • 毕设做桌面软件 网站淘宝联盟网站建设
  • 更改wordpress程序站点网址主题wordpress
  • 建网站什么赚钱学网站开发要学什么