历史上的今天
返回首页

历史上的今天

今天是:2024年09月06日(星期五)

正在发生

2019年09月06日 | stm32 通过串口控制led灯亮灭 并通过lcd显示led灯的亮灭状态

2019-09-06 来源:eefocus

#include "main.h"

#include "stm32f0xx_hal.h"

 

/* USER CODE BEGIN Includes */

#include "lcd.h"

/* USER CODE END Includes */

 

/* Private variables ---------------------------------------------------------*/

UART_HandleTypeDef huart1;

 

/* USER CODE BEGIN PV */

/* Private variables ---------------------------------------------------------*/

 

/* USER CODE END PV */

 

/* Private function prototypes -----------------------------------------------*/

void SystemClock_Config(void);

static void MX_GPIO_Init(void);

static void MX_USART1_UART_Init(void);

 

/* USER CODE BEGIN PFP */

/* Private function prototypes -----------------------------------------------*/

 

/* USER CODE END PFP */

 

/* USER CODE BEGIN 0 */

 

/* USER CODE END 0 */

 

/**

  * @brief  The application entry point.

  *

  * @retval None

  */

int main(void)

{

  /* USER CODE BEGIN 1 */

 

  /* 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_USART1_UART_Init();

  /* USER CODE BEGIN 2 */

Lcd_Init();

Lcd_Clear(WHITE);

  /* USER CODE END 2 */

 

  /* Infinite loop */

  /* USER CODE BEGIN WHILE */

Gui_DrawFont_GBK16(0, 0, BLACK, WHITE, "LED1 OFF");

Gui_DrawFont_GBK16(0, 25, BLACK, WHITE, "LED2 OFF");

Gui_DrawFont_GBK16(0, 50, BLACK, WHITE, "LED3 OFF");

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2, GPIO_PIN_SET);

  while (1)

  {

 

  /* USER CODE END WHILE */

 

  /* USER CODE BEGIN 3 */

uint8_t data = 0;  

HAL_UART_Receive_IT(&huart1, &data, 1);  

if(data == '1')  

{  

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);  

HAL_UART_Transmit(&huart1, &data, 1, 0);  

Gui_DrawFont_GBK16(0, 0, BLACK, WHITE, "LED1  ON");

//HAL_Delay(500);

}  

else if(data == '2')  

{  

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);  

HAL_UART_Transmit(&huart1, &data, 1, 0);  

Gui_DrawFont_GBK16(0, 0, BLACK, WHITE, "LED1 OFF");

//HAL_Delay(500);

else if(data == '3')  

{  

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET);  

HAL_UART_Transmit(&huart1, &data, 1, 0);  

Gui_DrawFont_GBK16(0, 25, BLACK, WHITE, "LED2  ON");

//HAL_Delay(500);

}

else if(data == '4')  

{  

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);  

HAL_UART_Transmit(&huart1, &data, 1, 0);  

Gui_DrawFont_GBK16(0, 25, BLACK, WHITE, "LED2 OFF");

//HAL_Delay(500);

}

else if(data == '5')  

{  

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);  

HAL_UART_Transmit(&huart1, &data, 1, 0);  

Gui_DrawFont_GBK16(0, 50, BLACK, WHITE, "LED3  ON");

//HAL_Delay(500);

}

else if(data == '6')  

{  

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET);  

HAL_UART_Transmit(&huart1, &data, 1, 0);  

Gui_DrawFont_GBK16(0, 50, BLACK, WHITE, "LED3 OFF");

//HAL_Delay(500);

}

  }

  /* USER CODE END 3 */

 

}


推荐阅读

史海拾趣

Crowd_Supply__Inc.公司的发展小趣事

随着电子行业的快速发展和市场竞争的加剧,Crowd Supply Inc.也面临着诸多挑战。为了保持竞争优势,公司不断调整战略方向,加大在新技术领域的投入。例如,公司近期开始关注物联网和人工智能等前沿技术的应用,通过整合社区资源和技术优势,成功开发出了一系列具有市场潜力的新产品。

ETERNA公司的发展小趣事

ETERNA公司起源于1856年,由格斯塔夫·罗斯切尔德和约翰·乌尔里希在瑞士的圣伊米尔创立。自成立之初,ETERNA便以精湛的制表工艺和不懈的创新精神闻名于世。公司不断推出具有划时代意义的腕表产品,其中最具代表性的是其“五点星座”设计,这一设计成为了品牌的象征,并引领了制表业的新潮流。ETERNA通过不断的技术创新和设计突破,逐渐在电子行业中崭露头角。

CHERRY公司的发展小趣事

1953年,一位名叫Walter Lorain CHERRY的德国年轻人在美国创立了Cherry公司,地点选在了一家餐厅的地下室。当时,Cherry的主要业务是生产微动开关,这种开关被广泛应用于各种电子设备中。Cherry的微动开关因其高品质和可靠性而赢得了市场的广泛认可,逐渐成为了行业内的佼佼者。

D+H Mechatronic AG公司的发展小趣事

在全球环保意识日益增强的背景下,D+H Mechatronic AG积极响应绿色制造的号召。公司投入大量资金和资源研发出了一系列节能环保的机械设备,这些设备在生产过程中能够显著降低能耗和排放。同时,公司还积极参与各种环保活动,倡导绿色生产理念。这些举措不仅使公司赢得了客户的信赖和支持,也为其在行业内树立了良好的环保形象。

Elytone Electronics Co Ltd公司的发展小趣事

近年来,Elytone公司积极响应国家环保政策,致力于推动绿色发展。他们采用环保材料和清洁能源进行生产,减少了对环境的污染。同时,公司还加强了对废弃物的回收和处理工作,实现了资源的循环利用。这些举措不仅提升了公司的社会形象,也为行业的可持续发展做出了积极贡献。

动运科技(DONGWOON)公司的发展小趣事

在电子行业中,技术创新是企业持续发展的关键。动运科技始终将技术创新作为公司的核心竞争力,不断投入研发资源,推动产品升级和技术创新。近年来,公司在自动对焦和光学防抖技术方面取得了重大突破,成功应用于音圈马达驱动芯片中,为智能手机等设备的摄像头模组提供了更加稳定、清晰的成像效果。这一技术的成功应用,不仅提升了动运科技在业界的地位,也为公司带来了广阔的市场前景。

问答坊 | AI 解惑

电话遥控程序(上)

ORG 0000H LJMP SETUP ORG 0013H ;8870的输出选通信好STD接在P3.3的 LJMP EX0INT            ORG    0003H        LJMP   INEX0P & ...…

查看全部问答>

请教嵌入式中Power Manager的(核心代码及驱动)

菜鸟一个,开始研究嵌入式的Power Manager,有几个问题还没弄明白, 在内核目录下 1.\\kernel\\power与\\drivers\\base\\power有何区别? 2.\\drivers\\acpi同样是电源驱动,和以上的有何区别? 3.我们用的是PXA系列,/arch/arm/mach-pxa下如ipmc.c和p ...…

查看全部问答>

请问建立一个动态驱动怎么建立?

我的是WINCE6.0的,现在我想写一个GPIO驱动,通过动态连接库来加载这个驱动,也就是说让这个GPIO驱动生成.DLL后,然后手动加载这个驱动来调试。 那我该建立怎么样的工程呢? 在WINCE5.0里提到在新建工程向导里,选择“WINCE Dynamic-Link Library ...…

查看全部问答>

哪位大虾有WINCE下的SKYPE软件?

哪位大虾有的话,给我一个. 急用呀。 谢谢了. lheart@263.net…

查看全部问答>

求助 有明白 基于声卡 的 声音信号处理的吗

我 设计了一段时间 对声音 用声卡采集 存储,但是有个大程序还是不明白  求高人帮我看看…

查看全部问答>

温度可调上下限1602显示

温度可调上下限1602显示…

查看全部问答>

SEED-EXP430F5529开发板里面关于LCD液晶字符显示

大家有木有LCD的液晶字符取摸工具啊, 想要在SEED-EXP430F5529开发板上显示自己的logo,整了半天LCD上显示出来都是乱的。 // Display TI logo   Dogs102x6_imageDraw(tiBug, 0, 16); // void Dogs102x6_imageDraw(const uint8_t IMA ...…

查看全部问答>

【R7F0C809】第十一篇--项目第二阶段界面设计

本帖最后由 陌路绝途 于 2015-11-8 11:03 编辑         本系统通过LCD触屏上的按钮和指纹模块作为数据输入终端。在主界面下分别显示三个按钮,即“设置”、“指纹输入”(指纹图标)、“帮助”。各个按钮操作情况 ...…

查看全部问答>

使用CS+编程遇到的小问题

CS+是否不支持long long类型的定义,编译提示 Illegal use of type ;还有,CS+支不支持C++。…

查看全部问答>

DE1-SoC实现视频压缩与处理

DE1-SoC板子上有个模拟视频输入接口,通过ADV7180模数转换后送入SOC。可以利用SOC实现视频压缩与处理,可能有两种方法: 1.通过ARM/NEON进行视频压缩(H.264/265) 2.通过FPGA程序进行视频压缩 有没有哪位大侠用过的谈谈经验. …

查看全部问答>