⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 machine.c

📁 freescale crc模块驱动 经调试
💻 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 + -