这程序在网上研究了好一阵,基本没有直接能用的,好不容易改写了一套程序,现在只能发乱码。程序如下
/* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/
#include "stdio.h"
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
__IO ITStatus USART1Ready = RESET;
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit_IT(&huart1 , (uint8_t *)&ch, 1);
while (USART1Ready != SET)
{
}
USART1Ready = RESET;
return ch;
//}
/* USER CODE END PV */
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();
/* Configure the system clock */
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART1_UART_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
printf ("a");
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
gnuc的那段#ifdef到#endif,我知道这段格式该怎么阅读,但不明白这段函数在干什么,求大神讲讲。再就是有没有做过串口发送的,我现在只是想用串口发送某数组的内容,能用dma最好,我看usart.c里面主要就void MX_USART1_UART_Init(void),不知道用什么函数能实现串口发送
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>