博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【iCore4 双核心板_ARM】例程四:USART实验——通过命令控制LED
阅读量:5906 次
发布时间:2019-06-19

本文共 2639 字,大约阅读时间需要 8 分钟。

实验原理:

  开发板上自带一片CH340芯片,完成本实验电脑需要安装CH340驱动,

CH340的TXD连接STM32的GPIO(PXC7),CH340的RXD连接STM32的

GPIO(PC6),通过串口发送命令控制LED的亮灭。串口命令如下:

LED_RED_ON\CR\LF---------------------LED红灯亮

LED_RED_OFF\CR\LF-------------------LED红灯灭
LED_BLUE_ON\CR\LF-------------------LED蓝灯亮
LED_BLUE_OFF\CR\LF------------------LED蓝灯灭
LED_GREEN_ON\CR\LF-----------------LED绿灯亮
LED_GREEN_OFF\CR\LF---------------LED绿灯灭

实验现象:

  打开串口软件通过串口输入相应的命令,控制LED的状态。

int main(void){  /* USER CODE BEGIN 1 */    int i;    char buffer[20];  /* USER CODE END 1 */  /* MCU Configuration----------------------------------------------------------*/  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */  HAL_Init();  /* USER CODE BEGIN Init */  /* USER CODE END Init */  /* Configure the system clock */  SystemClock_Config();  /* USER CODE BEGIN SysInit */  /* USER CODE END SysInit */  /* Initialize all configured peripherals */  MX_GPIO_Init();  MX_USART6_UART_Init();  /* USER CODE BEGIN 2 */    usart6.initialize(9600);                                                                                          //´®¿Ú²¨ÌØÉèÖà    usart6.printf("Hello, I am iCore4!\r\n");                                                            //´®¿ÚÐÅÏ¢Êä³ö   /* USER CODE END 2 */  /* Infinite loop */  /* USER CODE BEGIN WHILE */  while (1)  {  /* USER CODE END WHILE */  /* USER CODE BEGIN 3 */        if(usart6.receive_ok_flag){                                          //½ÓÊÕÍê³É            usart6.receive_ok_flag = 0;            for(i = 0;i < 20;i++){                buffer[i] = tolower(usart6.receive_buffer[i]);            }                        if(memcmp(buffer,"led_red_on",strlen("led_red_on")) == 0){                LED_RED_ON;                usart6.printf("ok!\r\n");            }            if(memcmp(buffer,"led_red_off",strlen("led_red_off")) == 0){                LED_RED_OFF;                usart6.printf("ok!\r\n");            }                if(memcmp(buffer,"led_green_on",strlen("led_green_on")) == 0){                LED_GREEN_ON;                usart6.printf("ok!\r\n");            }                if(memcmp(buffer,"led_green_off",strlen("led_green_off")) == 0){                LED_GREEN_OFF;                usart6.printf("ok!\r\n");            }                if(memcmp(buffer,"led_blue_on",strlen("led_blue_on")) == 0){                LED_BLUE_ON;                usart6.printf("ok!\r\n");            }                if(memcmp(buffer,"led_blue_off",strlen("led_blue_off")) == 0){                LED_BLUE_OFF;                usart6.printf("ok!\r\n");            }                        }  }  /* USER CODE END 3 */}

 

源代码下载链接:

链接: 密码:a849

iCore4链接:

转载地址:http://vtcpx.baihongyu.com/

你可能感兴趣的文章
关于iOS 11.x微信连wifi流程中,在Portal页无法拉起微信问题的简单记录
查看>>
Python GUI库wxPython官网Hello World示例的逐行解释
查看>>
RE·WORK 巅峰对话:深度学习将彻底改变医疗健康领域
查看>>
Codeforces Round #442 (Div. 2) A B
查看>>
极值问题(acms)
查看>>
swift UI专项训练8 展示数据
查看>>
一起学shell(十一)之安全的shell脚本:起点
查看>>
Microsoft® Deployment Toolkit 2010之快速部署Windows 7
查看>>
LNMP的技术讲解
查看>>
SVN Hooks的介绍及使用
查看>>
Oracle 字符集的查看和修改【上】
查看>>
tomcat注册windows服务
查看>>
使用qq邮箱的smpt服务发送邮件一定要记得用ssl
查看>>
20个非常有用的Java代码片段
查看>>
网站优化和竞价有什么区别
查看>>
MySQL开源热备工具XtraBackup的原理与程序说明
查看>>
mongoDB(1):windows下安装mongoDB(解压缩版)
查看>>
CentOS修改主机名
查看>>
php 5.3.6中php-fpm 配置
查看>>
XMPP协议分析-原理篇
查看>>