欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
串口屏與stm32的通信(中斷模式),求助
[打印本頁]
作者:
51_users
時間:
2020-11-24 00:09
標題:
串口屏與stm32的通信(中斷模式),求助
本帖最后由 51_users 于 2020-11-24 00:35 編輯
串口屏向單片機發送字符1,單片機接收到數據后PA9翻轉。接收緩存長度該設置為多少?如何判斷接受的字符是不是1呢?哪里需要改進或不對的地方,請幫指出來,謝謝。
/ *用戶代碼開頭標頭* /
/ **
******************************************** ******************************************
* @file:main.c
* @brief:Main程序主體
**************************************************** ******************************
* *注意
*
* <h2> <center>©版權所有(c)2020 STMicroelectronics。
*保留所有權利。</ center> </ h2>
*
*該軟件組件由ST根據BSD 3-條款許可進行許可,
即“許可”;除非符合
*許可證,否則您不得使用此文件。您可以在以下位置獲得許可副本:
* opensource.org/licenses/BSD-3-Clause
*
************************************* **********************************************
* /
/ *用戶代碼結尾標題* //
/包括---------------------------------------------- -------------------- * /
#include“ main.h”
#include“ usart.h”
#include“ gpio.h”
/ *私有包含--- -------------------------------------------------- ----- * /
/ *用戶代碼開始包括* /
/ *用戶代碼結束包括* /
/ *私有typedef ----------------------- ------------------------------------ * /
/ *用戶代碼開始PTD * /
/ *用戶代碼結束PTD * /
/ *私人定義---------------------------------------------- -------------- * /
/ *用戶代碼開始PD * /
/ *用戶代碼結束PD * /
/ *私有宏-------------- ----------------------------------------------- * /
/ *用戶代碼開始PM * /
/ *用戶代碼結束PM * /
/ *私有變量------------------------------- -------------------------- * /
/ *用戶代碼開始PV * /
uint8_t Rxbuf [8];
/ *用戶代碼結尾PV * /
/ *私有函數原型------------------------------------- ---------- * /
void SystemClock_Config(void);
/ *用戶代碼開始PFP * /
/ *用戶代碼結束PFP * /
/ *專用用戶代碼----------------------------- ---------------------------- * /
/ *用戶代碼開始0 * /
/ *用戶代碼結束0 * /
/ **
* @brief應用程序入口點。
* @retval int
* /
int main(void)
{
/ *用戶代碼開始1 * /
/ *用戶代碼結束1 * /
/ * MCU配置------------------ -------------------------------------- * /
/ *重置所有外設,初始化閃存界面和Systick。* /
HAL_Init();
/ *用戶代碼開始Init * /
/ *用戶代碼結束Init * /
/ *配置系統時鐘* /
SystemClock_Config();
/ *用戶代碼開始SysInit * /
/ *用戶代碼結束SysInit * /
/ *初始化所有已配置的外圍設備* /
MX_GPIO_Init();
MX_USART2_UART_Init();
/ *用戶代碼開始2 * /
HAL_UART_Receive_IT(&huart2,Rxbuf,sizeof(Rxbuf));
/ *用戶代碼結尾2 * /
/ *無限循環* /
/ *用戶代碼開始時* /
而(1)
{
/ *用戶代碼結束時* /
/ *用戶代碼開始3 * /
}
/ *用戶代碼結束3 * /
}
/ **
* @簡要系統時鐘配置
* @retval無
* /
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/ **配置主內部穩壓器輸出電壓
* /
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/ **根據
RCC_OscInitTypeDef結構中的指定參數*初始化RCC振蕩器。
* /
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 8;
RCC_OscInitStruct.PLL.PLLN = 336;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 4;
如果(HAL_RCC_OscConfig(&RCC_OscInitStruct)!= HAL_OK)
{
Error_Handler();
}
/ **初始化CPU,AHB和APB總線時鐘
* /
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
如果(HAL_RCC_ClockConfig(&RCC_ClkInitStruct,FLASH_LATENCY_5)!= HAL_OK)
{
Error_Handler();
}
}
/ *用戶代碼開始4 * /
void HAL_UART_RxcpltCallback(UART_HandleTypeDef * UartHandle)
{
if(UartHandle-> Instance == USART2)
{
HAL_UART_Receive_IT(&huart2,Rxbuf,sizeof(Rxbuf));
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_9);
HAL_Delay(500);
}
}
/ *用戶代碼 結尾4 * /
/ **
* @brief發生錯誤時執行此功能。
* @retval無
* /
void Error_Handler(void)
{
/ *用戶代碼開始Error_Handler_Debug * /
/ *用戶可以添加自己的實現以報告HAL錯誤返回狀態* /
/ *用戶代碼結束Error_Handler_Debug * /
}
#ifdef USE_FULL_ASSERT
/ **
* @brief報告
發生assert_param錯誤的源文件的名稱和源行號*。
* @param文件:指向源文件名的指針
* @param行:assert_param錯誤行源編號
* @retval無
* /
void assert_failed(uint8_t * file,uint32_t行)
{
/ *用戶代碼開頭6 * /
/ *用戶可以添加他自己的實現以報告文件名和行號,
tex:printf(“錯誤的參數值:%d \ r \ n行上的文件%s”,文件行)* /
/ *用戶代碼結尾6 * /
}
#endif / * USE_FULL_ASSERT * /
/ ************************(C)版權STMicroelectronics *****文件結尾**** /
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1