/************* 本程序功能说明 **************
用户可以在宏定义中改变MCU主时钟频率. 范围 8MHZ ~ 33MHZ.
红外接收程序。模拟市场上用量最大的NEC的编码。
用户可以在宏定义中指定用户码.
使用PCA2高速输出产生38KHZ载波, 1/3占空比, 每个38KHZ周期发射管发射9us,关闭16.3us.
使用开发板上的16个IO扫描按键, MCU不睡眠, 连续扫描按键.
当键按下, 第一帧为数据, 后面的帧为重复争,不带数据, 具体定义请自行参考NEC的编码资料.
键释放后, 停止发送.
******************************************/
//========================================================================
// 函数: void PCA_Handler (void) interrupt PCA_VECTOR
// 描述: PCA中断处理程序.
// 参数: None
// 返回: none.
// 版本: V1.0, 2012-11-22
//========================================================================
#define D_38K_DUTY ((MAIN_Fosc * 26) / 1000000UL + MAIN_Fosc / 3000000UL) /* 38KHZ周期时间 26.3us */
#define D_38K_OFF ((MAIN_Fosc * 17) / 1000000UL + MAIN_Fosc / 3000000UL) /* 发射管关闭时间 17.3us */
#define D_38K_ON ((MAIN_Fosc * 9) / 1000000UL) /* 发射管导通时间 9us */
请问“#define D_38K_DUTY ((MAIN_Fosc * 26) / 1000000UL + MAIN_Fosc / 3000000UL) /* 38KHZ周期时间 26.3us */”中的0.3us的算式是如何推导出来的?
|