终于成功,再次尝试新建工程终于实现操作,非常nice!
实现了每隔五秒,发出一条5s的消息。这里用的是计时器的溢出,大约9词溢出是5s。这个9次来源于定时器5s的计数次数与计时器每次溢出的计数次数的比值。计数器每次65536次计数溢出一次,计数器5s的计数是625000次。这个625000是计算得出的,计数次数N=t/T(计数周期)。t=5,T=1/f(频率),f=16000000 / 128 Hz。cc2530系统时钟频率是16MHz(16000000Hz),其定时器1使用128分频,因此得出定时器的时钟频率是 625000。
第二个实验 timer3 ,依旧成功!nice!全部看懂
#pragma vector=T3_VECTOR__interrupt voidTimer3_ISR(void) {// ~5s if(++counter_g==2441) //如果计数器到2441 {counter_g=0; //计数器清零 DEBUG_LOG("Timer3 timeout -> 5-seconds!\r\n"); //输出这些 LED=(LED==LED_ON)?LED_OFF:LED_ON; //LED翻转
别的文章有写: *函 数 名:Timer3_ISR 3*功 能:定时器3中断服务程序 4*入口参数:无 5*出口参数:无 6******************************************************************************/ 7#pragmavector = T3_VECTOR 8__interruptvoidTimer3_ISR(void)
定时器3的初始化:1 分频 2 溢出中断 3 自由计数 4 中断使能 5 启动定时器
watchdog实验,
(1)打开第一段程序预编译:#if 1,编译下载到开发板,LED灯一直是灭的!
(2)打开第二段程序预编译:#if 0,编译下载到开发板,LED灯闪烁!
非常nice!开发板正常亮灯!
bug有:引用了未定义的外部“delayMs:,没有定义delay;
解决办法:把hal_delay.c添加到工程里!(嘿嘿嘿呵呵呵ihi额nice!)
实验:低功耗定时器也成功。主要是文件好,我又恰巧看懂那么一点。
加油,这里也有一部分不认识,可以多看看
串口通信实验,顺利,看懂了
两个通信模式,SPI和UART,一些寄存器
配置:1.串口0:外设控制寄存器PERCFG,P0SEL ,P2DIR;工作模式U0CSR;波特率U0GCR,U0BAUD ;中断相关寄存器UTX0IF,URX0IF,URX0IE,EA;打开串口0的数据接收功能U0CSR。
2.串口数据收发的实现:main函数;setSystemClk32MHZ函数;串口0的初始化;串口0的数据接收;串口0的数据发送
ADC实验,非常nice!
给的资料真的超级全,可喜欢了!看的差不多懂了,但还得多理解。