/****************************************************************************
|
* Copyright: (C)2018 Î人ÁèÔÆÎïÍøÖÇ¿ÆÊµÑéÊÒ www.iot-yun.com
|
* Author: GuoWenxue<guowenxue@gmail.com> QQ: 281143292
|
* Description: ·Ü¶·STM32v5¿ª·¢°å ´®¿Ú²Ù×÷º¯Êý½Ó¿Ú,printf¹³×Óº¯Êýfputc
|
*
|
* ChangeLog:
|
* °æ±¾ºÅ ÈÕÆÚ ×÷Õß ËµÃ÷
|
* V1.0.0 2018.05.11 GuoWenxue ·¢²¼¸Ã°æ±¾
|
****************************************************************************/
|
|
#ifndef __STM32V5_USART_H
|
#define __STM32V5_USART_H
|
|
#include "stm32f10x_usart.h"
|
|
#define USART_PORT1 1
|
#define USART_PORT2 2
|
|
#define RXIRQ_ENB 1
|
#define RXIRQ_DIS 0
|
|
|
#define RXBUF_SIZE 128
|
extern uint8_t g_RxBuf[];
|
extern uint8_t g_RxLen;
|
extern uint8_t g_RxEnd_Flag;
|
|
|
/* º¯Êý˵Ã÷: ÅäÖô®¿ÚGPIO¿ÚºÍʱÖÓ£»
|
* ²ÎÊý˵Ã÷: whichÖ¸¶¨ÒªÅäÖõĴ®¿Ú,ÆäÖµÓ¦¸ÃΪ USART_PORT1 »ò USART_PORT2
|
* ·µ»ØÖµ: ÎÞ
|
*/
|
void init_usart_gpio(int which);
|
|
|
/* º¯Êý˵Ã÷: ÅäÖô®¿ÚµÄ²¨ÌØÂÊ¡¢Êý¾Ýλ¡¢ÆæÅ¼Ð£Ñéλ¡¢Í£Ö¹Î»¡¢Á÷¿ØµÈ£»
|
* ²ÎÊý˵Ã÷: whichÖ¸¶¨ÒªÅäÖõĴ®¿Ú,ÆäÖµÓ¦¸ÃΪ USART_PORT1 »ò USART_PORT2
|
* baudrate: ²¨ÌØÂÊ,ÆäֵΪ: 115200,9600,4800,2400,1200....
|
* rxirq: ÊÇ·ñʹÄܽÓÊÕÖжÏ, RXIRQ_ENB(!0): ʹÄÜ RXIRQ_DIS(0): ²»Ê¹ÄÜ
|
* ·µ»ØÖµ: ÎÞ
|
*/
|
void config_usart(uint8_t which, uint32_t baudrate, uint8_t rxirq);
|
|
|
/* º¯Êý˵Ã÷: ͨ¹ýÖ¸¶¨´®¿Ú·¢ËÍÒ»¸ö×Ö·û
|
* ²ÎÊý˵Ã÷: usartÖ¸¶¨Äĸö´®¿Ú, USART1 »ò USART2
|
* ch ÊÇÒª·¢Ë͵Ä×Ö·û
|
* ·µ»ØÖµ: ÎÞ
|
*/
|
__inline void usart_putchar(USART_TypeDef* usart, uint8_t ch);
|
|
/* º¯Êý˵Ã÷: ³õʼ»¯µ÷ÊÔ´®¿Ú,²¢Ö¸¶¨ÏàÓ¦µÄ´®¿ÚΪµ÷ÊÔ´®¿Ú
|
* ²ÎÊý˵Ã÷: which²ÎÊýÖ¸¶¨Ê¹ÓÃÄĸö´®¿Ú, ÆäÖµÓ¦¸ÃÊÇ USART_PORT1 »ò USART_PORT2
|
* ·µ»ØÖµ£º ÎÞ
|
*/
|
extern void init_dbg_uart(int which, uint32_t baudrate);
|
|
|
/* º¯Êý˵Ã÷: Íùµ÷ÊÔ´®¿Ú·¢ËÍ n ¸ö×Ö½ÚÊý¾Ý
|
* ²ÎÊý˵Ã÷: data Ö¸ÏòҪͨ¹ý´®¿Ú·¢Ë͵ÄÊý¾Ý
|
* len Ö¸ÏòҪͨ¹ý´®¿Ú·¢Ë͵ÄÊý¾Ý³¤¶È
|
* ·µ»ØÖµ£º ÎÞ
|
*/
|
void usart_send_data(uint8_t *data, uint32_t len);
|
|
|
/* º¯Êý˵Ã÷: Íùµ÷ÊÔ´®¿Ú·¢ËÍ×Ö·û´®, ×Ö·û´®ÒÔ \0 ½áβ
|
* ²ÎÊý˵Ã÷: str Ö¸ÏòÒª·¢Ë͵Ä×Ö·û´®ÄÚÈÝ
|
* ·µ»ØÖµ£º ÎÞ
|
*/
|
extern void usart_puts(const char *str);
|
|
|
#endif
|