
单片机
文章平均质量分 78
silno
一加三 三乘三 四季发财
展开
-
DS3231内容读取遇到的小问题
闲来无事,弄个ds3231 单片机stc15f104w 来捣鼓一下。找些例程可以识别设备,在读取时遇到小麻烦。读取0x06地址内容时始终无法读出,先后怀疑器件 程序是不是有问题,又仔细研究的I2C结构,没发现问题。既然读出了问题,解决不了,就暂时放下,去看写的情况。写的问题不大,基本顺利。后来把0x06地址写上内容,就发现0x06的内容可以读出来了。经思考,可能是新的3231的地址内容出厂是空的...原创 2018-02-28 14:40:16 · 3713 阅读 · 3 评论 -
HC89S003F4管脚快速设置函数GPIO,方便懒人
不用记那么多寄存器的名称了,直接输入管脚号和管脚状态就可以了。例子在最下面几行变量 P 被厂家用了,只能使用GPIO了。本函数占用约200字节,地方不够的慎用void GPIO(u8 m,u8 n) //HC89S003F4管脚快速设置函数by abin 。 m为管脚 P0.1=01 P1.0=10 等,n为管脚状态,见上面或数据手册说明{ switch (m) {...原创 2018-05-22 22:21:00 · 3286 阅读 · 0 评论 -
最高优先级和单片机唤醒的关系
最近在使用芯圣HC89S003F4时,在使用官方INT1掉电唤醒例程中,无论如何都无法完全唤醒MCU,经厂方查看程序,调试,很快找出原因,由于INT1不是最高优先级,所以唤醒没有成功,后来将INT1的优先级设为最高,就一切正常了。估计原因是:INT1不是最高优先级,唤醒启动后就被更高优先级的抢去了控制权,就是和和各种中断打架去了,最后谁也干不成活。IP0 |= 0X30; ...原创 2018-05-30 13:48:14 · 897 阅读 · 0 评论 -
51单片机时间戳相关函数
函数使用了long变量,比较占RAM,单片机要是空间紧张就别用了,会把mcu算糊涂的。/******* timestamp时间戳函数 开始**********/#define SECOND_OF_DAY 86400 //一天多少秒idata uchar DayOfMon[]={31,28,31,30,31,30,31,31,30,31,30,31};/*******************...原创 2018-06-06 15:43:43 · 4531 阅读 · 1 评论