你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
freeelectron 发表于 2019-2-20 17:51 用usart2默认的io口试试,先不要用重映射的
include 发表于 2019-2-20 17:29 并不是,偶校验是项目需要,去掉也无法工作
jeffhe1 发表于 2019-2-21 08:48 GPIO_PinAFConfig(GPIOA,GPIO_PinSource2,GPIO_AF_1); //Tx GPIO_PinAFConfig(GPIOA,GPIO_PinSource3,G ...
wenyangzeng 发表于 2019-2-20 19:11 那应该检查一下USART2的通讯对象的硬件连接情况
jeffhe1 发表于 2019-2-21 09:07 你是使用標準庫嗎 ? 是的話 應該可以用這個函式 看看 void USART_SendData(USART_TypeDef* USARTx, uint16 ...
试了,不行
那应该检查一下USART2的通讯对象的硬件连接情况
GPIO_PinAFConfig(GPIOA,GPIO_PinSource3,GPIO_AF_1); //Rx
有確認是 GPIO_AF_1 嗎? GPIO_PinSource2 , GPIO_PinSource3 有 define?
这个是stm32f0gpio.h里面的定义
硬件确认了,是联通的
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
{
/* Check the parameters */
assert_param(IS_USART_ALL_PERIPH(USARTx));
assert_param(IS_USART_DATA(Data));
/* Transmit Data */
USARTx->TDR = (Data & (uint16_t)0x01FF);
}
我有用過 STM32F051 是可用的 , 應該都是同為 M0系列
不然你可以把代碼整包載上來看看 , 看看有哪位大神剛好有時間可以試看看
感谢你的耐心帮助,你这个程序发送的是uint16的数据?是不是还有数据处理的代码没有贴上?
/***************** 发送一个字符 **********************/
void Usart_SendByte( USART_TypeDef * pUSARTx, uint8_t ch)
{
/* 发送一个字节数据到USART */
USART_SendData(pUSARTx,ch);
/* 等待发送数据寄存器为空 */
while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);
}