📄 machine.c
字号:
/******************************************************************************
* 源程序文件名: machine.c *
* 功能: 机器相关操作模块 *
* 说明: 本文件包含的子模块有:机器地址读写操作模块 *
******************************************************************************/
/* 加载头文件 */
# include "machine.h"
# include "lowlevel.h"
/* volatile: 这些地址中存放的数据可能随时改变 */
volatile unsigned int *npromMachineAddr; // EEPROM中存储遥控器ID号的地址
unsigned int nMachineAddr; // 遥控器ID号
/******************************************************************************
* 函数原型: void InitMachine(void); *
* 功能: EEPROM中各存储量存储地址的初始化 *
* 说明: EEPROM起始地址为0x2000 *
******************************************************************************/
void InitMachine (void)
{
// len = 4, end = EEPROMAddrStart+0x0033
npromMachineAddr =
(unsigned int *)(EEPROMAddrStart+0x0030);
}
/******************************************************************************
* 函数原型: void PutMachineAddr (unsigned int addr); *
* 功能: 设置遥控器的ID号 *
* 说明: 遥控器的ID号只能设置1次! *
******************************************************************************/
void PutMachineAddr (unsigned int addr)
{
if(*npromMachineAddr != 0xFFFF) // 如果遥控器的ID号已经被设置
return; // 返回!!!
EEPROMWrite2BAligned((void *)npromMachineAddr,addr);
}
/******************************************************************************
* 函数原型: unsigned int GetMachineAddr(void); *
* 功能: 获取遥控器的ID号 *
* 说明: 遥控器的ID号为16位 *
******************************************************************************/
unsigned int GetMachineAddr (void)
{
return *npromMachineAddr;
}
/******************************************************************************
* 函数原型: void GetMachineData(void); *
* 功能: 获取EEPROM中的相关信息 *
* 说明: 无 *
******************************************************************************/
void GetMachineData (void)
{
nMachineAddr = (int)GetMachineAddr();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -