红外遥控器

这篇博客主要介绍了红外遥控器的相关初始化设置,包括inti_roll()、inti_int_setting()函数,以及中断服务函数Interrupt()。内容涵盖滚轮数据初始化、中断定时器设置、睡眠模式管理和IO口配置。此外,还涉及到了WatchDog定时器的使用和延迟函数的实现。
摘要由CSDN通过智能技术生成

#include “extern.h”
#include “register.h”
//music
uint8_t music_time = 0;
uint8_t music_data = 0;
uint8_t music_data_cnt = 0;
uint8_t music_interval_time = 0;//音乐间隔时间
uint8_t R_music_buffer = 0;
uint8_t MOTOR_MUSIC_STARE = 0;
uint8_t music_order = 0;
uint8_t IR_TX_FLAG = 0;
uint8_t timer500UsCnt = 0;
uint8_t key_music_flag = 0;
uint8_t music_hearh = 0;

void inti_roll(void)
{
call _SYS(ADR.ROLL);
roll_data[0] = A;
call _SYS(ADR.ROLL)+1;
roll_data[1] = A;

tx_data[0] = roll_data[0] + roll_data[1];
tx_data[1] = roll_data[0]; 
tx_data[2] = roll_data[1]; 

tx_data[5] = 16;
while (tx_data[5] != 0) {
	 tx_data[6] = tx_data[1];   
	 
	 tx_data[1] >>= 1;
	 if (tx_data[2] & 0x01) {
	 	tx_data[1] |= 0xB0;
	 }    
	 
	 tx_data[2] >>= 1;
	 if (tx_data[6] & 0x01) {   
	 	tx_data[1] ^= 0x05;
	 	tx_data[2] ^= 0x8B; 
	 }
	 
	 tx_data[5]--;
}
tx_data[4]  = tx_data[2] >> 4;
tx_data[4] += 0x80; 
tx_data[3]  = tx_data[2] & 0x0F;
tx_data[3] += 0x50;
tx_data[2]  = tx_data[1] >> 4;
tx_data[2] += 0xB0;
tx_data[1] &= 0x0F;
tx_data[1] += 0xC0;

tx_data[6]  = tx_data[0]; 
tx_data[7]  = tx_data[1];
tx_data[8]  = tx_data[2];
tx_data[9]  = tx_data[3];
tx_data[10] = tx_data[4];
   
tx_data[0]  = 0xA0;
tx_data[1]  = 0x00;  
tx_data[2]  = 0xFF;   
tx_data[3]  = 0xFF;  
tx_data[4]  = roll_data[0];
tx_data[5]  = roll_data[1];   

tx_data[11] = 0x00;

}
/*
void RF_INIT_SETING(void)
{
if((RF_PAIR_FLAG)&&(!rf_reinit_cnt))
{
RF_PAIR_FLAG=0;
// speed_flag =0;
// inti_roll();
tx_data[6] = tx_data[0];
tx_data[7] = tx_data[1];
tx_data[8] = tx_data[2];
tx_data[9] = tx_data[3];
tx_data[10] = tx_data[4];

tx_data[0]  = 0xA0;
tx_data[1]  = 0x00;  
tx_data[2]  &
  • 46
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值