51单片机库函数详解(三-三)
程序员文章站
2022-04-03 20:18:35
Hardware_Drivers该文件包含了内核的驱动,上面的啰嗦一大堆,都是一些规范和顶层框架,下面的是驱动框架及驱动部分。Frame_Drives该文件内存储了51单片机所有品牌的驱动头文件STC_Drivers.hSTC系列的驱动头文件,这个是一个结构体,描述了硬件的内核资源,这个只写了STC89C52RC的,因为时间问题,其它的还没有兼容进去。#ifndef __HARDWARE_DRIVERS_H#define __HARDWARE_DRIVERS_H//对数据类型进行声明定义...
Hardware_Drivers
该文件包含了内核的驱动,上面的啰嗦一大堆,都是一些规范和顶层框架,下面的是驱动框架及驱动部分。
Frame_Drives
该文件内存储了51单片机所有品牌的驱动头文件
STC_Drivers.h
STC系列的驱动头文件,这个是一个结构体,描述了硬件的内核资源,这个只写了STC89C52RC的,因为时间问题,其它的还没有兼容进去。
#ifndef __HARDWARE_DRIVERS_H
#define __HARDWARE_DRIVERS_H
//对数据类型进行声明定义
typedef unsigned int u16;
typedef unsigned char u8;
//---重定义关键词---//
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
#if STC89C52RC
typedef struct{
//定时器模式配置变量
u8 TMOD_Set; //定时器模式变量
//总中断配置变量
u8 EA_Set; //总中断允许变量
//外部中断0内嵌结构体
#if Ex_Interrupt0
struct{
u8 IT0_Set:1; //触发沿配置位
u8 EX0_Set:1; //外部中断0允许配置位
}Ex_Int0_Parameter;
#endif
//外部中断1内嵌结构体
#if Ex_Interrupt1
struct{
u8 IT1_Set:1; //触发沿配置为
u8 EX1_Set:1; //外部中断1允许配置为
}Ex_Int1_Parameter;
#endif
//定时器或计数器中断0内嵌结构体
#if Timer0
struct{
u8 ET0_Set:1; //是否打开定时器0中断允许位
u8 TR0_Set:1; //是否打开定时器位
}Timer0_Parameter;
#endif
//定时器或计数器中断0内嵌结构体
#if (Timer1 || Uart)
struct{
u8 ET1_Set:1; //是否打开定时器0中断允许
u8 TR1_Set:1; //是否打开定时器位
}Timer1_Parameter;
#endif
//串口中断内嵌结构体
#if Uart
struct{
u8 SCON_Set; //设置为串口工作方式变量
u8 PCON_Set; //电源管理寄存器
u8 ES_Set; //串口接收中断变量
float Baud_Rate; //波特率参数配置变量
}Usart_Parameter;
#endif
}_Parameter_Set;
#endif
#endif
外部链接
码云下载:https://gitee.com/LWTDZ/Core8051.git
店铺地址:https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-22129052348.16.6b222269wKu2dH&id=615384296160
QQ群(STM32嵌入式Linux&单片机):950822175
本文地址:https://blog.csdn.net/qq_34390075/article/details/107938579
上一篇: FREEBSD系统优化精华