主页 > 互联网 > 内容页

Ubuntu VSCODE+GCC】CW32L031驱动sht30

2023-06-28 17:14:37 来源:华仔的编程随笔

硬件工具】


(资料图片)

1、CW32L031C8小蓝板

2、Sht30寸温湿度计

编程环境】

1、ubuntu20

2、Vscode

【编译环境】

Arm-gcc

下载调试】

Wch-link+pyocd+gdb

【实现步骤】

1、复制一份uart的工程到新的文件夹:

lugl@lugl-virtual-machine:~/CW32L$ sudo cp -r cw32l031_uart_iqr cw32l031_sht30

[sudo] lugl 的密码:

lugl@lugl-virtual-machine:~/CW32L$ ls

cw32l031_sht30 cw32l083_gcc MRS_Toolchain_Linux_x64_V1.50.tar.xz

cw32l031_uart cw32l083_gcc.zip

cw32l031_uart_iqr MRS

2、修改文件夹读写权限:

lugl@lugl-virtual-machine:~/CW32L$ chmod 777 -R cw32l031_sht30

3、用vscode打开文件夹。在User目录下面新建sht30.c、sht30.h,myiic.h、myiic.c

4、这里的我们选用PB10、PB11为IIC的SCL与SDA,创建模拟的IIC。

5、创建sht30的命令发送与CRC程序。(代码见附件,如果发帖可以复制主要代码展示)

6、调整主程序代码如下:

int main(void)

{

int t[6];uint16_t h[6];LED_Init();LogInit();SHT30_Init();USART_ITConfig(CW_UART1, USART_IT_RC, ENABLE);InitTick(24000000ul); //初始化SysTick// 开启两线调试接口RCC_SWDIO_Config(RCC_SYSCTRL_SWDIOEN);printf("start\\r\\n");while (1){    SHT30_Read_Humiture(t,h);    printf("temp: %d.%d\\r\\n", t[0]/10, t[0]%10);    printf("humi: %d.%d\\r\\n", h[0]/10, t[0]%10);    GPIO_TogglePin(CW_GPIOC, GPIO_PIN_13);    SysTickDelay(500);}return 0;

}

编译并下载:

lugl@lugl-virtual-machine:~/CW32L/cw32l031_sht30/cw32l031_gcc$ make flash

-e Start pyOCD

0000822 I Loading /home/lugl/CW32L/cw32l031_sht30/cw32l031_gcc/build_exec/template.elf [load_cmd]

[==================================================] 100%

0002781 I Erased 0 bytes (0 sectors), programmed 0 bytes (0 pages), skipped 20480 bytes (40 pages) at 10.22 kB/s [loader]

实现的效果:

标签:

上一篇:【世界热闻】鹤壁示范区组织开展“6.26国际禁毒日”主题宣传活动
下一篇:最后一页