上位机控制led

  

使用库函数,调试的结果在标红程序上,
int main(void)
{
  u8 a;         
         u8 t;
        u8 len;        
        u16 times=0;
        delay_init();                     //延时函数初始化          
        NVIC_Configuration();          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(9600);         //串口初始化为9600
         LED_Init();                             //LED端口初始化
        KEY_Init();          //初始化与按键连接的硬件接口
         while(1)
        {
                if(USART_RX_STA&0x8000)
                {                                           
                        len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
                        printf("\r\n您发送的消息为:\r\n\r\n");
                        for(t=0;t<len;t++)
                        {
                                USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据
                                a=USART_RX_BUF[t];
                                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
                        }
                        printf("\r\n\r\n");//插入换行
                        USART_RX_STA=0;
                }else
                {
                        times++;
                        if(times%5000==0)
                        {
                                printf("\r\nSTM32 出口控制led\r\n");
                        }
                        if(times%200==0)printf("请输入数据,以回车键结束\n");  
                        if(a==‘0’)LED0=0;//闪烁LED0,提示系统正在运行.
                        if(a==‘1’)LED0=1;//闪烁LED1,提示系统正在运行.
                        if(a==‘2’)LED1=0;//闪烁LED0,提示系统正在运行.
                        if(a==‘3’)LED1=1;//闪烁LED1,提示系统正在运行.

delay_ms(10);   
                }
        } 
}
在串口调试中证实可行。

时间: 2024-10-12 22:50:16

上位机控制led的相关文章

12.PMAC上位机-中断通信(下位机通知上位机)

之前说过,上位机控制硬件都是通过发送指令进行的,这是单向的.那么反过来,下位机硬件给上位机发送指令怎么才能实现呢?对于PMAC来说,最常见的情况就是,当PMAC一次运动完成时通知当前PC程序运动已完成. 1.下位机通知上位机原理 如下图所示, PC给PMAC发送指令控制它做什么,当运动程序完成后中断通知上位机,在中断的同时发送一个标识P100表明完成的程序号,这个标明到底是1号轴运动完,还是是2号轴运动完.在PC端有一个中断回调函数,下位机发送中断后,会自动跳转到该函数中,中断函数接受中断,根据

上位机串口控制FPGA开发板LED

实验目的: 上位机软件通过串口控制FPGA开发板上4个LED灯的亮灭,同时数码管显示LED灯亮的个数,实验效果如下图. 实验背景: 一直都想学习FPGA,这次算是入门了,我是看书学习的,所以FPGA的代码是参考着书本上的修改的,其实很高兴,因为这个实验是我自己发散出来的,书上的开发板和我用的开发板不一样,并且小软件也是自己用C#写的,总之,挺开心吧,本着开源的精神,所有的上位机代码和FPGA程序上传,如有需要请自行下载(点此下载).工作就没时间写教程之类的,简单的介绍一下吧 硬件平台: Cycl

C#上位机串口控制12864显示

实现的效果 上面是用Proteus仿真的,,对了如果自己想用proteus仿真需要安装下面这个软件 再看一下实物显示效果 先做上位机部分........... 为了程序一启动就把电脑上能用的串口号显示在下拉框中 private void Form1_Load(object sender, EventArgs e) { string[] ComName = SerialPort.GetPortNames();//把可用的串口号存入comname comboBoxCom.Items.AddRange

用qt写的一个简单到不能在简单的上位机

学QT时,写的一个简单得不能再简单的串口上位机,用来控制单片机上的2个LED.假设一个是只有开和关的状态.一个可以调节亮度.上位机的界面如下图: 其中,波特率,数据位,停止位下拉值在设计师里面添加.剩下的功能,基本由代码实现.通信使用的协议也是随便写的.很简单和随意.图片是老弟手绘的. 下面贴代码 (*^__^*) #include "mainwindow.h" #include "ui_mainwindow.h" #include <QtSerialPort

物联网框架ServerSuperIO.Core(.netcore)跨平台,一套设备驱动通吃嵌入式、上位机、云服务

1.      概述... 2 2.      ServerSuperIO.Core跨平台开发环境... 2 3.      ServerSuperIO.Core特点... 2 4.      ServerSuperIO.Core与ServerSuperIO区别... 2 5.      嵌入式应用... 2 6.      上位机应用... 2 7.      云服务应用... 2 8.      应用和测试说明,以Linux平台为例... 2   概述 我们的大数据平台(云)平台的数据接收服

基于uFUN开发板的心率计(三)Qt上位机的实现

前言 上两周利用周末的时间,分别写了基于uFUN开发板的心率计(一)DMA方式获取传感器数据和基于uFUN开发板的心率计(二)动态阈值算法获取心率值,介绍了AD采集传感器数据和数据的滤波处理获取心率值.这篇文章主要是介绍Qt上位机如何实现波形的显示,串口数据的解析,以及一些小细节实现.这篇文章写完,uFUN心率计这个小项目就算结束了,最近又做了个uFUN开发板的扩展板,在微信群里的朋友都已经看到了,后面会做一些好玩的东西,大家要保持关注哈! 关于Qt Qt是一个1991年由Qt Company开

STM32_IAP详解(有代码,有上位机)

Iap,全名为in applacation programming,即在应用编程,与之相对应的叫做isp,in system programming,在系统编程,两者的不同是isp需要依靠烧写器在单片机复位离线的情况下编程,需要人工的干预,而iap则是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级.在工程应用中经常会出现我们的产品被安装在某个特定的机械结构中,更新程序的时候拆机很不方便,使用ia

项目总结-上位机

概述 总结 明确目的 软件结构设计 软件页面的设计与实现 串口通信的实现 关于注释 一些需要注意的问题 评价 结果展示 软件打包 代码 概述: 前几天受朋友之托,给他们的项目写个上位机.有些经验分享给大家 项目要求是上位机收到通过串口发送的数据,根据数据显示空车位的数量. *最终上位机拥有的值得一谈的功能: 1.串口通信的相关设置 2.数据保存 3.界面随窗口缩放的实现 4.软件打包 5....然后就没有了 总结 1.明确目的 开始写软件之前首先明确目的,软件应该实行什么功能,然后设计界面,最后

GSM开发 手机发送短信控制LED,返回中文短信,C程序源代码【测试】

[谢绝转载!][谢绝转载!][谢绝转载!] [说明] 实物连接图如下: [短信控制] 发送短信到GSM模块,收到相应的指令对应板子上的灯亮灭. 然后模块会向手机发送一条中文短信 [源代码]目前仍然处于开发中..... /****************************** 工程名  :短信控制家电 1 先用USB转TTL模块测试模块好用,并修改波特率到9600(AT+IPR=9600)再用单片机调试 2 51单片机晶振 11.0592MHz,12M不可以用   3 如果模块无开机自启动电