標(biāo)題: 請問,如何用stm32通過串口調(diào)試助手控制燈的亮滅? [打印本頁]

作者: stm32learning    時(shí)間: 2018-11-28 15:54
標(biāo)題: 請問,如何用stm32通過串口調(diào)試助手控制燈的亮滅?
大家有沒有源碼可以分享
作者: 小貓貓愛吃魚    時(shí)間: 2018-11-28 16:54

你好!
1、用的STM32的那款芯片?
2、分步完成程序和調(diào)試
   a、寫程序,先能點(diǎn)亮 led 燈
   b、接著寫程序,能用程序控制燈的亮滅
   c、再寫串口程序,能正常接收串口數(shù)據(jù)
   d、增加串口控制指令,實(shí)現(xiàn)串口控制燈的亮滅
3、如有疑問,可以加我QQ好友,幫你完成設(shè)計(jì)

作者: yousunny    時(shí)間: 2018-11-29 09:07
用正點(diǎn)原子的歷程,直接可以使用。具體你去官方論壇看下(開源電子網(wǎng))(不做伸手黨)
作者: alanqnb    時(shí)間: 2018-12-1 14:41
1.串口配置;2.串口中斷接收;3.通過串口數(shù)據(jù)判斷是否點(diǎn)亮led
作者: cyc0228    時(shí)間: 2018-12-1 16:29
#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 */

}
---------------------
作者:烏云的暮年下著雪
來源:CSDN
原文:https://blog.csdn.net/qq_40390825/article/details/80994900
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1