资源简介
包含OLED库文件程序以及例程及说明。有Arduino,STM32,C51的驱动库及例程。还有OLED模块的说明以及自己设计图案与文字的取字软件。
代码片段和文件信息
/******************************************************************************
FILE : datapage.c
PURPOSE : paged data access runtime routines
MACHINE : Freescale 68HC12 (Target)
LANGUAGE : ANSI-C
HISTORY : 21.7.96 first version created
******************************************************************************/
#include “hidef.h“
#include “non_bank.sgm“
#include “runtime.sgm“
#ifndef __HCS12X__ /* it‘s different for the HCS12X. See the text below at the #else // __HCS12X__ */
/*
According to the -Cp option of the compiler the
__DPAGE__ __PPAGE__ and __EPAGE__ macros are defined.
If none of them is given as argument then no page accesses should occur and
this runtime routine should not be used !
To be on the save side the runtime routines are created anyway.
If some of the -Cp options are given an adapted versions which only covers the
needed cases is produced.
*/
/* if no compiler option -Cp is given it is assumed that all possible are given : */
/* Compile with option -DHCS12 to activate this code */
#if defined(HCS12) || defined(_HCS12) || defined(__HCS12__) /* HCS12 family has PPAGE register only at 0x30 */
#define PPAGE_ADDR (0x30+REGISTER_base)
#ifndef __PPAGE__ /* may be set already by option -CPPPAGE */
#define __PPAGE__
#endif
/* Compile with option -DDG128 to activate this code */
#elif defined DG128 /* HC912DG128 derivative has PPAGE register only at 0xFF */
#define PPAGE_ADDR (0xFF+REGISTER_base)
#ifndef __PPAGE__ /* may be set already by option -CPPPAGE */
#define __PPAGE__
#endif
#elif defined(HC812A4)
/* all setting default to A4 already */
#endif
#if !defined(__EPAGE__) && !defined(__PPAGE__) && !defined(__DPAGE__)
/* as default use all page registers */
#define __DPAGE__
#define __EPAGE__
#define __PPAGE__
#endif
/* modify the following defines to your memory configuration */
#define EPAGE_LOW_BOUND 0x400u
#define EPAGE_HIGH_BOUND 0x7ffu
#define DPAGE_LOW_BOUND 0x7000u
#define DPAGE_HIGH_BOUND 0x7fffu
#define PPAGE_LOW_BOUND (DPAGE_HIGH_BOUND+1)
#define PPAGE_HIGH_BOUND 0xBFFFu
#define REGISTER_base 0x0u
#ifndef DPAGE_ADDR
#define DPAGE_ADDR (0x34u+REGISTER_base)
#endif
#ifndef EPAGE_ADDR
#define EPAGE_ADDR (0x36u+REGISTER_base)
#endif
#ifndef PPAGE_ADDR
#define PPAGE_ADDR (0x35u+REGISTER_base)
#endif
/*
The following parts about the defines are assumed in the code of _GET_PAGE_REG :
- the memory region controlled by DPAGE is above the area controlled by the EPAGE and
below the area controlled by the PPAGE.
- the lower bound of the PPAGE area is equal to be the higher bound of the DPAGE area + 1
*/
#if EPAGE_LOW_BOUND >= EPAGE_HIGH_BOUND || EPAGE_HIGH_BOUND >= DPAGE_LOW_BOUND || DPAGE_LOW_BOUND >= DPAGE_HIGH_BOUND || DPAGE_HIGH_BOUND >= PPAGE_LOW_BOUND || PPAGE_LOW_BOUND >= PPAGE_HIGH_BOUND
#error /* please adapt _GET_PAGE_REG for
相关资源
- STM32f407调试OV7620
- 基于STM32开发板的呼吸灯流水灯控制
- RT-Thread 串口IAP升级
- STM32开发板的多功能电子钟设计
- stm32f103rct6最小系统原理图、PCB及AD封
- 利用STM32硬件I2C使用加速度传感器AD
- 基于STM32平衡小车制作
- 基于STM32节点和阿里云LOT的物联网全栈
- 基于stm32的门禁系统
- 基于STM32的病床呼叫系统
- 手环程序stm32f051max30102
- STM32 UCOSii系统下多任务喂狗
- MT2503或FreeRTOS上移植MQTT协议
- 基于STM32单片机的门禁控制系统-软件
- stm32 hart通信程序
- STM32F107模块化入门指导书
- stm32f407读写SD卡
- HC-SR04超声波测距 STM32 keil
- 基于STM32环境智能监测、报警系统
- MiniBalance上位机所有资料
- 2018电赛FDC2214STM32 程序+PCB板工程文件
- DS1302程序开发运用在STM32F103
- STM32与HTU21的I2C通讯源码
- 基于STM32的遥控小车程序NRF24l01
- 基于STM32的机器人控制
- 基于STM32车牌识别程序_带管理计费.
- UWB测距源码
- 基于STM32的风力摆程序
- stm32读取SD卡中图片,并在TFT中显示
- STM32F1控制HC-SR04超声波测距
评论
共有 条评论