Ubuntu VSCODE+GCC】CW32L031驱动sht30

描述

【硬件工具】

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

Ubuntu

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
");

while (1)

{

    SHT30_Read_Humiture(t,h);

    printf("temp: %d.%d
", t[0]/10, t[0]%10);

    printf("humi: %d.%d
", 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]

实现的效果:

Ubuntu

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分