--------------------------------------------------控制lcd
查看lcd12864手册
JLX12864G-086 可以显示 128 列*64 行点阵单色图片
查看原理图
对照以上两图可以得出以下对应
LCD指令表
查看指令表,整理指令
Lcd的一般操作
初始化
清屏
设置起始位置
写入数据显示图象
首先要将系统时钟切换到32M的处部晶振,为了自由配置所需要的时钟,借助CLKCONCMD.OSC选择系统主时钟,借助CLOKCONCMD.OSC32K用于选择芯片32K时钟源
低功耗模式设置时,需要SLEEPCMD寄存器
在《CC253x-CC2540-41ApplicationsUser's Guide.pdf》中并没有说明SLEEPCMD第二位功能
需下载cc2430芯片的说明书??
查看用户手册
需下载cc2430芯片的说明书??
其中第6位XOSC_STB表明外部高速32M晶振是否上电并稳定起振,当稳定时该位为1
第5位HFRC_STB则表明内部16MHz高速RC振荡器是否起振,并是否稳定,当16MHz RC振荡器稳定时该位为1
CLKCONCMD
CLKCONSTA
以上寄存器在iocc2540.h头文件中定义
创建工程,如同之前的创建方式,不同的有以下地方
创建公共函数头文件
/******************************************************************************
版权所有 (C), 2014-2020
******************************************************************************
文 件 名 : common.h
版 本 号 : V1.0
作 者 : retacn
生成日期 : 2014年9月13日
功能描述 : 公共头文件
函数列表 :
修改历史 :
1.日 期 : 2014年9月13日
作 者 : retacn
修改内容 : 创建文件
******************************************************************************/
#ifndef __COMMON_H__
#define __COMMON_H__
/*----------------------------------------------*
* 包含头文件 *
*----------------------------------------------*/
#include <stdio.h>
#ifndef BV
#define BV(n) (1 <<(n))
#endif
#define st(x) do { x } while(__LINE__ == -1)
// IO控制
#define HAL_IO_SET(port, pin, val) HAL_IO_SET_PREP(port, pin, val)
#define HAL_IO_SET_PREP(port, pin,val) st( P##port##_##pin## = val;)
#define HAL_CONFIG_IO_OUTPUT(port, pin,val) HAL_CONFIG_IO_OUTPUT_PREP(port,pin, val)
#define HAL_CONFIG_IO_OUTPUT_PREP(port,pin, val) st( P##port##SEL &= ~BV(pin); \
P##port##_##pin## = val; \
P##port##DIR |= BV(pin); )
#define HAL_CONFIG_IO_PERIPHERAL(port,pin) HAL_CONFIG_IO_PERIPHERAL_PREP(port, pin)
#define HAL_CONFIG_IO_PERIPHERAL_PREP(port,pin) st( P##port##SEL |= BV(pin); )
/* SPI settings */
#define HAL_SPI_CLOCK_POL_LO 0x00
#define HAL_SPI_CLOCK_PHA_0 0x00
#define HAL_SPI_TRANSFER_MSB_FIRST 0x20
//#define NULL (void*)0
/*----------------------------------------------*
* 数据类型 *
*----------------------------------------------*/
typedef signed char int8; //!< Signed 8 bitinteger
typedef unsigned char uint8; //!< Unsigned 8 bit integer
typedef signed short int16; //!< Signed 16 bitinteger
typedef unsigned short uint16; //!< Unsigned 16 bit integer
typedef signed long int32; //!< Signed 32 bitinteger
typedef unsigned long uint32; //!< Unsigned 32 bit integer
typedef unsigned char bool; //!< Boolean data type
#ifdef __cplusplus
#if __cplusplus
extern "C"{
#endif
#endif /* __cplusplus */
/*软件延时*/