论坛» 活动中心» 板卡试用

【EFM8BB52单片机】温度采集(熟悉软件基本操作,调试UART0打印串口)

专家
2022-01-08 18:45 1楼

1前言

上次试了官方的例程,闪灯Blinky例程,但实际对软件熟悉度不够,虽然功能已经完成,能够正常跑实际收获不大,今天再认真学习一些Simplicity Studio v5这个软件,然后试下开发板的别的功能,最先肯定是调试一下打印信息串口,这样可以观察程序的进度。开发板上的调试串口应该是接在P0.4P0.5上面,说实话好几年没调试C51内核的单片机了,一些寄存器都忘了,目前基本上都是ARM内核了,哈哈。找一下手册看下P0.4P0.5uart0,正好可以跑一跑例程测试一下,哈哈。

2.熟悉软件

熟悉软件操作,想看当前函数的定义,点击Open Declaration可以直接跳转到函数定义。


图片2.png

跳转到我选择的函数了,这些功能都是比较常用的,开发的时候会经常使用。

3.板子内核时钟选择

在板子上没看见外部晶振,估计是用的内核晶振

图片4.png

看了一下手册,有这些选择,但是在程序里没找到对应的设置,这里不是很清晰啊。

externvoidCLOCK_0_enter_DefaultMode_from_RESET(void) {

// $[HFOSC1 Setup]

// [HFOSC1 Setup]$

// $[CLKSEL - Clock Select]

/***********************************************************************

- Clock derived from the Internal High Frequency Oscillator 0

- SYSCLK is equal to selected clock source divided by 1

***********************************************************************/

SFRPAGE = 0x0;

CLKSEL = CLKSEL_CLKSL__HFOSC0_clk24p5 | CLKSEL_CLKDIV__SYSCLK_DIV_1;

while((CLKSEL & CLKSEL_DIVRDY__BMASK) == CLKSEL_DIVRDY__NOT_READY);

// [CLKSEL - Clock Select]$

// $[CLKGRP0 - Clock Group 0]

// [CLKGRP0 - Clock Group 0]$

}

仔细找了一下,这个函数应该就是初始化时钟,24.5Mhz的主频,后面应该是分频系数。

4.串口测试

首先打开程序进行编译,通过后

主函数:

voidmain(void)

{

unsignedcharinputcharacter;// Used to store character from UART

enter_DefaultMode_from_RESET();

DISP_EN = DISP_BC_DRIVEN;// EFM8 does not drive display

BC_VCOM_EN = BC_VCOM_CONNECTED;// Board controller connected to EFM8

// UART pins

SCON0_TI = 1;// This STDIO library requires TI to

// be set for prints to occur

while(1)

{

RETARGET_PRINTF ("\nEnter character: ");

inputcharacter =getchar();

RETARGET_PRINTF ("\nCharacter entered: %c", inputcharacter);

RETARGET_PRINTF ("\n Value in Hex: %bx", inputcharacter);

}

}

串口打印信息:

图片3.png

串口就调通了,可以正常打印数据。也可以接收数据,就是这个初始化函数有点没搞清楚在哪?哈哈。这个例程就在SDK包里,基本上外设操作都有例程,这个对开发项目还是很友好的,不错不错。

这个串口波特率我改9600115200都可以接受,估计加了芯片自适应了,MCU输出应该是115200的。

下一步准备在这个程序的基础上,加一个单总线的温度传感器,采集温度,通过串口打印出来,如果还有时间加一个lora射频板,通过uart1发送数据,组成无线温度传感器。


助工
2022-01-08 22:58 2楼

讲解的蛮不错的

专家
2022-01-09 09:37 3楼

感谢分享

高工
2022-01-09 09:55 4楼

谢谢分享

高工
2022-01-09 10:11 5楼

Good

专家
2022-01-17 08:45 6楼

感谢分享

高工
2022-01-17 09:00 7楼

谢谢分享

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]