问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Maixcam和STM32F103C8T6串口通信实战:UART循环点灯教程

创作时间:
作者:
@小白创作中心

Maixcam和STM32F103C8T6串口通信实战:UART循环点灯教程

引用
CSDN
1.
https://blog.csdn.net/m0_73512556/article/details/144476825

本文将介绍如何使用Maixcam和STM32F103C8T6进行串口通信,并通过UART实现循环点灯功能。这是一个基础但实用的项目,适合嵌入式开发初学者学习和实践。

材料准备

  • Maixcam(有屏版或无屏版均可)
  • STM32F103C8T6开发板
  • Stlink下载器
  • 公对母、母对母杜邦线

准备工作

在开始之前,请确保你已经完成了以下准备工作:

  1. 使用江科协点灯程序对STM32进行烧录(自行完成)
  2. 下载并安装MaixVision软件

STM32代码实现

STM32的main.c文件代码如下:

#include "stm32f10x.h"                  // Device header
#include "UART.h"
#include "LED.h"

uint8_t RxData;

int main(void)
{
    UART_Init();	// 初始化
    LED_Init();

    while (1)
    {
        if(Serial_GetRxFlag() == 1)	// 检查接收标志位,如果为1表示有数据接收
        {
            RxData = Serial_GetRxData();
            if(RxData == '1')
            {
                LED_Control(0); // LED点亮
            }
            if(RxData == '0')
            {
                LED_Control(1); // LED熄灭
            }
        }
    }
}

MaixCam代码实现

MaixCam的Maixpy程序代码如下:

from maix import app, uart, pinmap, time
import struct

device = "/dev/ttyS0"

serial0 = uart.UART(device, 9600)

while True:
    data_1 = "1\r\n".encode()
    serial0.write_str(data_1)

    time.sleep_ms(1000) # sleep 1ms to make CPU free

    data_2 = "0\r\n".encode()
    serial0.write_str(data_2)
    time.sleep_ms(1000) # sleep 1ms to make CPU free

注意:两个设备的波特率均设置为9600。

接线步骤

  1. 首先取出MaixCam转接口,并使用USB转TYPE-C线将MaixCam连接至电脑。

  1. 使用杜邦线将MaixCam和STM32开发板交叉连接。

运行步骤

  1. 先将STM32程序下载至开发板。
  2. 使用MaixVision连接MaixCam。
  3. 运行Maixpy程序。

运行效果

(此处应有运行效果图片,但原文中未提供)

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号