单片机
肖恩•布莱恩特
这个作者很懒,什么都没留下…
展开
-
AT89S8253片内EEPROM字节读、字节写、页读、页写驱动代码、注意事项及注释
在编写AT89S8253片内EEPROM读写驱动程序时,要特别注意数据读写指令MOVX;当EECON寄存器的EEMEN位置位时,MOVX访问EEPROM;当EECON寄存器的EEMEN位清零时,MOVX访问外部RAM;一般情况下,我们定义的用来写入EEPROM的数据或保存EEPROM读取的数据都用外部RAM;代码具体分析如下:C语言页写入代码:unsigned char W_E原创 2013-09-14 10:42:05 · 2817 阅读 · 0 评论 -
软件定时器-闹钟提醒我们该吃饭吃饭,该睡觉睡觉
闹钟提醒我们该吃饭吃饭,该睡觉睡觉softwaretimer.h#ifndef _SOFTWARETIMER_H_#define _SOFTWARETIMER_H_typedef enum{z_false = 0, z_true = !z_false} z_bool;typedef unsigned char原创 2014-06-06 10:51:03 · 2186 阅读 · 0 评论 -
时间,给了我们起点,从此,我们开始创造历史
时间,给了我们起点,从此,我们开始创造历史世纪秒:2000年1月1日0时0分0秒到现在的秒数datetime.h文件:#ifnded _DATETIME_H_#define _DATETIME_H_typedef unsigned char z_u8;typedef signed char z_原创 2014-05-29 19:36:47 · 1369 阅读 · 0 评论 -
一个简单而强大的单片机内存管理器-不带内存碎片整理
单片机简单内存管理器本代码基于无操作系统的STM32单片机开发,功能强大,可申请到地址空间连续的不同大小的内存空间,且用户接口简单,使用方便memory.h#ifndef __MEMORY_H__#define __MEMORY_H__#include "stdio.h"#include "string.h"#include "includes.h"//用户使用t原创 2015-07-10 19:13:41 · 6895 阅读 · 5 评论 -
又一个简单而强大的单片机内存管理器-不带内存碎片整理
与之前的单片机内存管理实现思路不同前者为将内存区域划分为固定大小的块,通过每个块的状态来分配内存,获取到的是连续的内存块,则相应的,内存也是连续的。此次新的内存管理是将整个待分配的内存块看作一个空闲内存描述结构加内存区域,申请一块内存是将空闲且大小合适的内存一分为二或整块获取来实现,释放内存是将当前内存与前后空闲内存合并完成的,有双向链表的意思。memory.h原创 2015-08-25 21:45:50 · 2508 阅读 · 0 评论 -
FATFS-f_deldir-删除文件夹(删除子文件夹及文件连同其本身)
//====================================================================================================//函 数 名 : f_deldir//函数功能 : 移除一个文件夹,包括其本身和其子文件夹,子文件//输 入 : const TCHAR *path---指向要移除的空结尾字符串对象原创 2015-08-20 09:59:15 · 12656 阅读 · 2 评论 -
蛋疼的C语音字符串拷贝 strncpyr
uint8_t *strncpyr(uint8_t *dest, const uint8_t *src, int8_t r, int32_t n){ int32_t pos = 0; for(pos = 0; ((src[pos] != '\0') && (src[pos] != r) && (pos < n)); pos++)...原创 2015-10-30 19:09:31 · 604 阅读 · 0 评论 -
单线程轮训裸机OS程序
近日在学习STM32单片机操作系统之余,写了如下单线程轮训裸机OS程序,分享出来与大家共同进步,如有错误或不足之处,敬请谅解,尊听指导。此单线程轮训裸机OS具有一下特点:1.以系统滴答时钟为驱动持续工作;2.任务具有关闭、睡眠、执行、延时、等待共五种状态;3.任务ID及任务数需在系统运行前就确定;4.任务执行过程中可根据需要随时对任务进行关闭,打开,睡眠及唤醒操作;原创 2016-01-22 22:04:04 · 891 阅读 · 0 评论