N76E003AT20开发所需注意点总结


注意!开发时没有调过时钟,直接用官方提供的demo进行修改开发。在此开发条件下,将所遇问题进行归纳。默认时钟主频是16Mhz。 在这里插入图片描述

定时器

定时器精度

由于项目需要用到433MHz遥控信号检测,需要在中断里读取IO电平变化并执行相应逻辑函数,我设置的是TIMER_DIV12_VALUE_10us 函数 ,10us产生中断一次。
精度有误差,在定时器中断计数调试,计数50000次,理论为500ms,但是实际是600ms左右。能选用低频率中断尽量选择低频率中断,精度会高一些。

定时器中断

中断里面尽量不要增加处理函数,增加一条常规语句 都有可能导致时间不准。我在中断里 添加了一个变量的++,就会导致遥控无法识别。

低功耗

进入低功耗时主要语句三句
clr_BODEN;
clr_ADCEN;
set_PD;

特别注意

进入低功耗之前,一定要确认输入引脚的电平要确认,不要悬空!用自带的弱上拉也不行。
输出电平要与外部保持一致,尽量降低功耗。
特别强调一点输入引脚,如果想检测低电平,默认高电平时,使用内部弱上拉进入低功耗会产生100uA左右的电流。外部加一个上拉电阻则该电流消失。

GPIO中断

在电路设计时,所有中断要在同一个组(P0x,P1x,P2x,P3x)。
例如中断为P15、P16、P17,不能P15、P16、P2x。

因为在配置时需要配置PIPS0 、PIPS1寄存器,只能一个值。
例如P15的配置

set_EPI;  // 开启GPIO中断
set_EA; //总中断
P15_Input_Mode;//输入模式
clr_PIPS1; // 配置端口 BIT1
set_PIPS0; // 配置端口 BIT0

Enable_BIT5_FallEdge_Trig;//下降沿触发
P15 = 1;// 开启特弱上拉  其实作用不大!

串口中断

这里只讲使用2个串口在9600波特率下的接收发送配置。其余用途项目未使用到 ,也就没有了解。具体详情看手册,我这里直接贴配置。
同时使用的话USART0的库函数配置要修改一下,在Common.C里,改了两个串口才能同时正常的收发

void Send_Data_To_UART0 (UINT8 c)
{
 TI = 0;
SBUF = c;
while(TI==0);
TI = 0;
TI_1 = 0;
}

然后是初始化配置

void UART0_Init(void) 
{
		set_P06; 
 	    set_P07;  
		set_ES;					//串口0中断 使能
		set_EA;					//全局中断使能
		InitialUART0_Timer1(9600); //   波特率
		TI = 0;			//数据发送中断置1
}

void UART1_Init(void)
{
  	set_P02; 
	set_P16;
	set_ES_1;					//For interrupt enable
	set_EA;
	InitialUART1_Timer3(9600);	
	TI_1 = 0;	
}

中断服务函数配置。数据在SBUF_1 和 SBUF 寄存器里

void SerialPort0_ISR(void) interrupt 4 
{
	  if (RI==1) 
	   {                                       /* if reception occur */
	       clr_RI;			/* clear reception flag for next reception */
	      
		}
}


void SerialPort1_ISR(void) interrupt 15 
{
	 if (RI_1==1) 
	  {                                       /* if reception occur */
			clr_RI_1;                             /* clear reception flag for next reception */
			clr_TI_1;   //不要漏掉了
	   }
}

ADC采集

这里有个名词,带隙电压

在这里插入图片描述

参考电压一般都是3.3 V,只是上下有细微的浮动,如果使用场景不是那么严苛,就不用管带隙电压,实际带隙电压是用来校准的。

配置的话参考demo或其他文章即可,没什么需要特别注意的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值