经过“1、开箱初体验”和“2、蓝牙BLE例程初体验”之后,迫不及待的想调试一下,可惜跳线帽不够,没法操作基本功能。官方开发板上只有二个跳线帽,用来连接PA2->TXD,PA3->RXD,这个可以用来下载程序,查看窜口打印的的LOG。于是立即上网购买跳线帽,今天终于到收到了,可以体验一下开发板的调试了。
    查了一下原理图,传感器都是共用一个IIC接口的,先把IIC接上:PC6->SCL,PD6->SDA,还有温湿度传感器的ALERT和RESET,再把 KEY接上,基本功能就有了。
IMG_20200226_234639.jpg

打开一个窜口工具,我用的是eaglecom.exe,查看代码,在硬件初化部分void user_entry_before_ble_init(void):
    // Enable UART print.
    system_set_port_pull(GPIO_PA2, true);
    system_set_port_mux(GPIO_PORT_A, GPIO_BIT_2, PORTA2_FUNC_UART1_RXD);
    system_set_port_mux(GPIO_PORT_A, GPIO_BIT_3, PORTA3_FUNC_UART1_TXD);
    uart_init(UART1, BAUD_RATE_115200);  
于是,把波特率设置为115200就可以了,再复位一下开发板,正常收到窜口数据:

freqchipfreqchipfreqchipfreqchip
Firmware version is 1.0
Build date: Feb 17 2020 17:47:41
BLE Peripheral
Local BDADDR: 0xBDADD0F08010
CAPB18_id = 16
CAPB18 init Ready  Reg_Meas =0xc7
cd ffffff02 14004 ffff21c2 fffff4d8 443 ffffd28a fffffffb fffff8fe
=gyroscope start=
who am i=18
All service added
Start advertising...
temperature = 30096,humidity = 59726
CAPB18_id = 16
CAPB18_PRS= 100762.71094  
CAPB18_TMP= 29.85327  
=skip count=0
*skip count* = 0
……
再试了一下按键,一切正常!
官方这个demo默认是显示图片,我想做一个温湿度计,开机自动显示温湿度。因为家里有好几个温湿度计,想看一下这个的准确度如何。仔细研究了一下代码,结过几次调试,最后就修改了开机时最后显示的内部:
void user_entry_after_ble_init(void)
void simple_peripheral_init(void)
在最后增加二个语句:
        //OS Timer
        os_timer_init(&timer_refresh,timer_refresh_fun,NULL);//´´½¨Ò»¸öÖÜÆÚÐÔ1s¶¨Ê±µÄϵͳ¶¨Ê±Æ÷
        os_timer_start(&timer_refresh,1000,1);
       
        App_Mode++;
        lcd_show_logo(lcd_show_workmode[App_Mode]);

}

搞定了。
和其它的温湿度计比较一下,相差还是挺大的啊:
IMG_20200226_234756.jpg

IMG_20200226_234803.jpg