由于客户在请人设计开发一设备,但是设备用户处总停电,造成设备及其周边耗材损耗严重,因此请我司在现有STC为主要芯片的基础上做掉电瞬间EEPROM里的20个参数保存,上电后通过读取EEPROM中的参数回到掉电的状态,基于此,荣致电子科技做了大量的工作,并选用了很多种方案: 1. 通过1法拉大电容做掉电临时备份电池. 2. 通过备份电池或者DS1302里的31个字节ram+电池方案. 3. 通过MAX813L检测掉电,然后通过普通STC10某个引脚读取MAX813L的第五脚高低电平状态. 4. 购买…
STC单片机简介 STC单片机是一款增强型51单片机,完全兼容MCS-51,还增加了新的功能,比如新增两级中断优先级,多一个外中断,内置EEPROM,硬件看门狗,具有掉电模式,512B内存等.还支持ISP下载,不用编程器,只要一个MAX232和一些廉价的元件就能写程序,可擦写10万次.因此是一款很好用的单片机. stc单片机的优缺点 stc单片机优点: 1.抗干扰能力强: 2.保密性能强悍,很难被破解: 3.单片机时钟有防外部电磁辐射功能: stc单片机缺点: 1.功耗较高,5V供电: 2.8位…
相信喜欢单片机的朋友都用过STC的单片机,用过STC单片机的朋友都有这种感受:实惠.易用.功能强大!就是每次下载都要冷启动特别恶心,相信很多朋友的开发板上的电源键都按烂了. 其实STC单片机可以不用免掉电下载,想要知道怎样才能免掉电下载,我们先要了解STC单片机是怎样实现串口下载的,其实STC单片机出厂时就预置了一段ISP监控程序,我们称作ISP引导码,这段ISP监控程序就好比电脑硬盘的系统引导区.我们对STC单片机上电启动时,单片机首先执行ISP引导码检测串口是否下载程序的命令,如果上位机在对…
STC89C51.52内部都自带有2K字节的EEPROM,54.55和58都自带有16K字节的EEPROM,STC单片机是利用IAP技术实现的EEPROM,内部Flash擦写次数可达100,000 次以上,先来介绍下ISP与IAP的区别和特点. 知识点:ISP与IAP介绍     ISP:In System Programable 是指在系统编程,通俗的讲,就是片子已经焊板子上,不用取下,就可以简单而方便地对其进行编程.比如我们通过电脑给STC单片机下载程序,或给AT89S51单片机下载程序,这…
STC官方给出的建议: /***************************************************************Author:Liming*** * @brief 读取参数 * @param None * @retval None ****************************************************************0x49E7FC7B*****/ void ReadParam(void) { uint16_t i…
相信大家都会遇到这样的情况,当你正在敲一份文档或一段代码时,啪的一下停电啦,我擦……,我的代码……,我的图纸……,我刚写好的文章…….但是在嵌入式系统中也会遇到类似的情况,通常会导致嵌入式系统数据,程序丢失,不能工作,甚至损坏存储系统.而对于核心板的嵌入式系统来说,异常掉电情况下数据不丢失,稳定性是根本.本文基于CAT706介绍一种能够检测到异常掉电,并利用电容中存储的少量电量保存数据.防止存储器损坏.丢失数据的方法. 一.概述 首先引用一篇微信文章“老板说:你去跳槽,我去跳楼!一场由SD卡引发…
一般在升级过程,都会提示用户,请勿断电,不管是android的STB,TV还是PHONE,或者是其他的终端设备,升级过程,基本上都可以看到“正在升级,请勿断电”,然后有个进度条,显示升级的进度. 但是从系统安全的角度考虑,如果用户真断电了,我们仍然需要能够从异常掉电的情况中,恢复系统或者继续升级. 我们先理解下recovery的过程,我们升级过程,其实分为两个阶段,升级包校验过程,以及升级包更新过程: 2.1 校验过程掉电 在升级包校验过程,是recovery对升级包zip的完整性以及合法性进行…
由异常掉电问题---谈xfs文件系统 本文皆是作者自己的学习总结或感悟(linux环境),如有不对,欢迎提出一起探讨!! 目录结构 一.相关知识 二.问题提出 三.处理方法 四.最终结果 一.相关知识 1.xfs文件系统(概念性知识网上很多,自己去查喽) 文件系统的定义: 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法. xfs文件系统: 是一个日志型文件系统 日志文件系统?加一个日志来记录文…
在嵌入式设备中,掉电处理一直是一项比较麻烦的工作,在具有Linux系统的设备中,系统的种种数据的处理更是增加掉电处理的难度.现在做以下几点总结,再遇到类似问题可以做个参考. 1,系统启动的处理 在系统上电启动时,会加载/etc/inittab,进行初始化处理,然后执行各个脚本.如S13ntp..类似,分区时将文件系统放在分区1的话,mount时最好read only的方式,否则上下几次,系统遇到阻塞的情况断电就很容易损坏该分区.初始化脚本也尽量优化,不要让系统阻塞. 2,检测掉电事件 加上一个线…
STM32内部有一个完整的上电复位和掉电复位电路,当供电电压达到2v时系统即能正常工作. STM32内部自带PVD功能,用于对MCU供电电压VDD进行监控.通过电源控制寄存器中的PLS[2:0]位可以用来设定监控电压的阀值,通过对外部电压进行比较来监控电源.当条件触发,需要系统进入特别保护状态,执行紧急关闭任务:对系统的一些数据保存起来,同时对外设进行相应的保护操作. 操作流程:     1).系统启动后启动PVD,并开启相应的中断.     PWR_PVDLevelConfig(PWR_PVD…
症状: 当你发现"移动硬盘图标"经常无故消失,又自己出现时. 你可以把这个现象称之为"掉电" or "掉驱动". 遇到这种情况,相当不爽. 比如"拷贝大文件"快完成的时候,掉之,那就真的是"我去...". 这种现象在笔记本上尤为常见,台式机相对比较少. 怎么解决呢? 解决方案: 1.取消勾选"允许计算机关闭此设备以节约电源(A)". 从"我的电脑" or "…
/************************************************************************ * android系统掉电保护 * 说明: * Android系统突然掉电,可能会照成系统数据丢失.开不了等结果. * * 2016-6-8 深圳 南山平山村 曾剑锋 ***********************************************************************/ 参考文章: 一种android系统掉电…
问题描述 通过STM32的FSMC总线驱动ili9341,程序调试和刚下载的时候,显示完全正常.可是就在我掉电关机,重新启动的时候就完全跑飞了.这令我非常疑惑.以下是我的FSMC总线配置程序, static void LCD_FSMC_Config(void) { FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; FSMC_NORSRAMTimingInitTypeDef p; p.FSMC_AddressSetupTime = 0x02; p…
在生产环境中,视频通常是一种重要的文件证据,但是,如果因为各种原因,导致视频在录制到一半过程中失败, 比如:监控到一半,录制设备掉电.虽然,掉电后的视频肯定找不到,但是,有时,长时间工作生产的视频通常是隔一 段时间保存一个文件比如:24小时,每隔一个小时保存一个文件,这时候,如果在最后59分钟掉电,我们如何查看0-59分钟的视频数据呢, 下面方案参考:http://www.spirithy.com/2016/11/26/recover_mp4/ 找到了一款靠谱(且不收费)的视频修复工具:reco…
打开终端输入: $ pmset -g 查看休眠模式 hibernatemode 发现值为3, 这是大多数的设置,如果为0 ,那么休眠时严重掉电, 我们可以改变这个模式: $ sudo pmset -a hibernatemode 25 值为25时,更加省电. 如果想在合上电脑之后断网,会更加省电,但是也不能下载了. 命令:$ sudo pmset -b tcpkeepalive 0 System-wide power settings: Currently in use: lidwake aut…
STC单片机串口输出ADXL335角度值: //***************************************************** //名称:单片机串口输出ADXL335角度值 //使用单片机:stc12c5a60s2 //供电:电压5v //晶振:11.0592m //X轴->(ADC0)P1.0 //Y轴->(ADC1)P1.1 //Z轴->(ADC1)P1.2 //用pc串口助手显示时,选择字符显示 //参考宏晶网址例程 //****************…
模数转换器原理 数模转换器( analog to digitI converter,ADC),简称为A/D,ADC是链接模拟世界和数字世界的桥梁.它用于将连续的模拟信号转换为数字形式离散信号.典型的,ADC将模拟信号转换为与电压值成比例表示的数字离散信号,对于不同厂商所提供的ADC,其输出的数字信号可能使用不同的编码格式 注:有一些模叔数字转换器并非纯的电子设备,如旋转编码器,也可看作是模拟数字转换器 ADC的一些参数 分辨率.响应类型.误差和采样率 1)分辨率 在模拟数字转换器中,分辨率是指对…
1.前言 最近我的2015mbpMacBook Pro (Retina, 13-inch, early 2015)更新完10.14系统后,发现休眠待机一晚上后能掉5%电,白天待机4-5小时又掉了8%.然而在此之前我记得休眠是几乎不怎么掉电的,所以在网上搜索了一下,后来找到了大佬的一些解决方案(认为可能是休眠时网络仍保持活跃导致).其中的一种的成功评论比较多,大家可以试一试. 2.解决方案 重启 Macbook,在启动的时候按住 command + R,然后系统会尽入 recovery 模式. 选…
当VDD下降到PVD阀值以下或当VDD上升到PVD阀值之上时,根据外部中断第16线的上升/下降边沿触发设置,就会产生PVD中断 void PVD_IRQHandler(void) { led_ctrl(LED1, ON); if(PWR_GetFlagStatus(PWR_FLAG_PVDO)) { MSD0_WriteSingleBlock(1, buf); } EXTI_ClearITPendingBit(EXTI_Line16); } void PVD_Init(void) { EXTI_…
硬件:Mac Pro 2015 系统:MacOs Mojave 10.14.3 问题:合盖的时候,休眠1小时掉电10%,由于之前是128G原装盘不会有这个问题,后面购买了M.2转接卡,更换1T Intel 760P NVME,重装系统出现 分析:看了网上大部分说明,应该是休眠的时候,保存TCP连接,其实就是Find My MAC功能,及可能没有真正进入休眠导致的 处理:看了网上有三个地方更改,试了一下,效果明显 1.可能是待机时依然链接网络导致的.如果不需要待机时链接网络可以执行,主要是Find…
背景 三星笔记本的部分型号如:NP530 Q470等 安装win8后再次重装系统(我弄了个Ubuntu18)会导致无法进入BIOS菜单页面的问题.启动显示logo页面后,能够听到明显啪的一声(硬盘掉电)然后继续重启.问题的原因初步猜测是BIOS启用了EFI快速启动,跳过BIOS了,然后恰巧新安装的系统出了问题.送售后修不了,墙内搜索也毫无进展.后续通过NBR(notebookreview.com)社区了解到这是win8和三星的不兼容致使NVRAM溢出损坏,导致F2按钮不可用的问题. 解决方案 升…
大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的个人小项目 - kFlashFile. 痞子衡最近在参与一个基于 i.MXRT1170 的项目,项目有个需求,需要在 Flash 里实时保存一些关键数据(初步设 512 bytes),掉电能恢复.这些数据在访问方式上要友好,最好是很简单的 API 接口,上层无需操心关键这些数据在 Flash 里是如何存储以及具体存储在什么位置,只需在意关键数据保存和读取的操作即可(就像在 RAM 里动态存取那样). 根据上述需求,痞子衡做了一个参…
前言 本篇讲述的是一个比较极端的故障的恢复场景,在整个集群全部服务器突然掉电的时候,osd里面的osdmap可能会出现没刷到磁盘上的情况,这个时候osdmap的最新版本为空或者为没有这个文件 还有一种情况就是机器宕机了,没有马上处理,等了一段时间以后,服务器机器启动了起来,而这个时候osdmap已经更新了,全局找不到需要的旧版本的osdmap和incmap,osd无法启动 一般情况下能找到的就直接从其他osd上面拷贝过来,然后就可以启动了,本篇讲述的是无法启动的情况 解决方案 获取运行的ceph…
STC单片机4*4按键控制步进电机旋转 28BYJ-48型步进电机说明 四相永磁式的含义 28BYJ-48工作原理 让电机转起来 最简单的电机转动程序 电机转速缓慢的原因分析 便于控制转过圈数的改进程序 利用中断编写实用性程序 用4*4矩阵按键控制28BYJ-48步进电机 28BYJ-48型步进电机说明 步进电机分为反应式.永磁式和混合式三种 我们在这里只讲解28BYJ-48型步进电机的具体含义: 28–步进电机最大有效外径为28毫米 B–表示是步进电机 Y–表示是永磁式 J–表示是减速型 48…
数据为王,服务为本——谈B2B电商平台与大数据 2013-06-27 11:10:41 作者:B2B行业资讯 标签:                             大数据                                                         投稿                                                         B2B                                         …
操作系统:Ubuntu16.04 TLS 单片机:STC的STC89C52RC系列及 Atmel的AT89S52... 所需工具: 1.编辑器- Vim(不钟情于IDE,个人喜好,高手勿喷) 2.编译器- SDCC(sudo apt-get install sdcc安装) 3.转换程序 - hex2bin(http://sourceforge.net/projects/hex2bin/files/?source=navbar)源码安装 4.烧录程序 - gSTCISP(http://source…
官方网址: http://www.stcisp.com/q_and_a_stcisp.html 个人小结 芯片:STC12C5A60S2 封装:LQFP-48 晶振大小:SD22.1184M 最小系统原理图如下(不包含电源部分): 烧录软件版本:stc-isp-15xx-v6.79B 出现的现象 一直处于“正在检测目标单片机……”的状态. 一段时间没找到原因. 看了STC官网上的解决办法汇总,还没确实解决.…
1.采用串行总线技术可以使系统的硬件设计大大简化.系统的体积减小.可靠性提高.同时,系统的更改和扩充极为容易. 常用的串行扩展总线有: IIC (Inter IC BUS)总线.单总线(1-WIRE BUS).SPI(Serial Peripheral Interface)总线及Microwire/PLUS等.   2.IIC IIC总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL. IIC总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任一器件输出的低电平…
主要代码 /**@brief Function for handling the Application's BLE Stack events. * * @param[in] p_ble_evt Bluetooth stack event. */ static void on_ble_evt(ble_evt_t * p_ble_evt) { switch (p_ble_evt->header.evt_id) { case BLE_GAP_EVT_CONNECTED: m_conn_handle…
1.echo 1 > /mytest/boot_times 2.systemctl enable i2c_dmesg.service root:/mytest# tree . |-- boot_times |-- i2c_dmesg.txt root:/etc# cat i2c_dmesg.sh #!/bin/sh value=$(cat /mytest/boot_times) # Keep dmesg file the same as console log echo "========…