SILICON LABS BB52-EK2701A 开发板亮灯
今天开始写BB52-EK2701A 开发板的第一个程序也是最简单的一个程序,那就是点亮LED灯。这个LED灯是外接的,通过一个简单外接电路来实现。在开始操作软件之前先将开发板通过USB线接好电脑USB端口,在后面是有好处的,就是软件会自动识别出开发板及MCU型号及SDK。
首先是在电脑里打开SS5(simplicity studio 5)软件。
第二,按此顺序操作:File---- New---Project。
第三,单击选择Silicon Labs MCU Project ----Next。
第四,在之前就把开发板接入电脑,下面这些选项是软件自动识别处理的,这样可以省得去找或手输入,然后点击Next。
第五,选择一个空的C程序执行工程。
第六,输入此工程的名称,然后选择Next。
第七,如下图直接选择Finish。
第八,编写程序,这里先择P3.0口,因为这个不是复用功能的IO口,初始化比较简单。具体的初始化详见DATASHEET,这里就不在进行叙述了。P3.0口接LED灯,让其亮5秒灭5秒。
下面是具体的程序:
#include <SI_EFM8BB52_Register_Enums.h>
#include <InitDevice.h>
#define uint unsigned int
SI_SBIT(LED_1,SFR_P3,0);
void delay(uint u)
{
uint x,y;
for(x=u;x>0;x--)
for(y=110;y>0;y--);
}
void SiLabs_Startup (void)
{
// Disable the watchdog here
}
int main (void)
{
IE_EA = 1;
SFRPAGE = 0x20;
P3 = P3_B0__HIGH | P3_B1__HIGH | P3_B2__HIGH | P3_B3__HIGH | P3_B4__HIGH
| P3_B5__HIGH | P3_B6__HIGH | P3_B7__HIGH;
P3MDOUT = P3MDOUT_B0__PUSH_PULL | P3MDOUT_B1__OPEN_DRAIN
| P3MDOUT_B2__OPEN_DRAIN | P3MDOUT_B3__OPEN_DRAIN
| P3MDOUT_B4__PUSH_PULL | P3MDOUT_B5__OPEN_DRAIN
| P3MDOUT_B6__OPEN_DRAIN | P3MDOUT_B7__OPEN_DRAIN;
P3MDIN = P3MDIN_B0__DIGITAL | P3MDIN_B1__DIGITAL | P3MDIN_B2__DIGITAL
| P3MDIN_B3__DIGITAL | P3MDIN_B4__DIGITAL | P3MDIN_B5__DIGITAL
| P3MDIN_B6__DIGITAL | P3MDIN_B7__DIGITAL;
XBR2 = XBR2_WEAKPUD__PULL_UPS_ENABLED | XBR2_XBARE__ENABLED
| XBR2_URT1E__DISABLED | XBR2_URT1RTSE__DISABLED
| XBR2_URT1CTSE__DISABLED;
while (1)
{
LED_1 = 0 ;
delay(5000) ;
LED_1 = 1 ;
delay(5000) ;
} // Spin forever
}