我是靠谱客的博主 风中荷花,这篇文章主要介绍CC2540/CC2541的基本操作CC2540/CC2541的基本操作,现在分享给大家,希望可以做个参考。

CC2540/CC2541的基本操作

1)操作LED

复制代码
1
2
3
4
5
6
//初始化 P0SEL &= ~0x01;//设置为普通IO口 P0DIR |= 0x01;//设置成输出模式 //LED控制 P0_0 = 1;//输出高电平,LED亮 P0_0 = 0;//低电平,LED灭

2)按键

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//初始化 P0SEL &= ~0x01;//设置为普通IO口 P0DIR &= ~0x01;//设为输入模式 P0INP &= ~0x01;//打开上拉电阻,上拉输入 //取值 /**************************************************************************** * 名 称: KeyScan() * 功 能: 读取按键状态 * 入口参数: 无 * 出口参数: 0为抬起 1为按键按下 ****************************************************************************/ uchar KeyScan(void){ if (P0_0 == 0){ DelayMS(10); //延时10MS去抖 if (P0_0 == 0){ while(!P0_0); //松手检测 return 1; //有按键按下 } } return 0; //无按键按下 }

3)中断方式按键

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//初始化 P0IEN |= 0x1; //P0IEN: 端口0,位7至位0中断使能。0:中断禁止;1:中断使能 PICTL |= 0x1; //端口0,引脚7至0输入模式下的中断配置,该位为端口0的7-0脚的输入选择中断请求条件。0:输入的上升沿引起中断;1:输入的下降沿引起中断 P0IEN |= 0x1; //端口0,位7至位0中断使能。0:中断禁止;1:中断使能; P0IFG = 0x00; //端口0,位7至位0输入中断状态标志。当某引脚上有中断请求未决信号时,其相应标志为1。 EA = 1; //打开总中断 //按键检测的中断处理函数,不需要主动调用 /**************************************************************************** * 名 称: P0_ISR(void) 中断处理函数 * 描 述: #pragma vector = 中断向量,紧接着是中断处理程序 ****************************************************************************/ #pragma vector = P0INT_VECTOR __interrupt void P0_ISR(void){ DelayMS(10); //延时去抖 LED1 = ~LED1; //改变LED1状态 P0IFG = 0; //清中断标志 P0IF = 0; //清中断标志 }

4)ADC采样

复制代码
1
2
3
4
//初始化 HalAdcInit(); HalAdcSetReference(HAL_ADC_REF_125V);//设置参考电压为内部1.25V uint32 r=HalAdcRead(HAL_ADC_CHN_VDD3, HAL_ADC_RESOLUTION_10);//取得1/3电源值的ADC采样

5)看门狗

复制代码
1
2
3
4
5
6
7
8
9
10
11
//初始化看门狗 void Init_Watchdog(void){ WDCTL = 0x00; //打开IDLE才能设置看门狗 WDCTL |= 0x08; //定时器间隔选择,间隔一秒 } //喂狗, 需要不断喂狗, 因为BUG或其他原因长时间不喂狗, 系统就会复位 void FeetDog(void){ WDCTL = 0xa0; //清除定时器。当0xA跟随0x5写到这些位,定时器被清除 WDCTL = 0x50; }

6)GPIO省电

一个接有负载的IO口,在不需要负载时如何省电呢(比如LED不需要亮时),答案是3态输入,上拉下拉输入都可能有消耗;
复制代码
1
2
3
P0SEL &= ~0x01;//设置为普通IO口 P0DIR &= ~0x01;//设置为输入模式 P0INP |= 0x01;//3态输入模式

转载于:https://my.oschina.net/u/184090/blog/333164

最后

以上就是风中荷花最近收集整理的关于CC2540/CC2541的基本操作CC2540/CC2541的基本操作的全部内容,更多相关CC2540/CC2541内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(81)

评论列表共有 0 条评论

立即
投稿
返回
顶部