如何使用STM32F107的串口4

2019-07-16 08:24发布

如何使用STM32F107的串口4???
库里好像只支持到串口3,用串口4就有好多东东没定义了。有啊位大神用过STM32F107的串口4的?因为现在项目要赶进度,所以很急呀,希望看到的兄弟朋友都帮我顶一下。让大神能看到该贴,多谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
赵兰宝
1楼-- · 2019-07-17 03:28
 精彩回答 2  元偷偷看……
yygy3748
2楼-- · 2019-07-17 09:10
赵兰宝 发表于 2012-10-28 20:23
你可以给我一个串口4能用的例程吗?我试试你的可以跑起来不可以吗?谢谢 ...

你的重定向有点问题啊,用下面这个吧,我发一个串口的文件给你,你打开看看,上面的四个串口都是同时在运行的
usart.rar (5.36 KB, 下载次数: 357)     有什么不明的看一下上传的文件,如果还有问题再交流



重定向程序

#if 1
//可以在这里写
//#define USARTx 为哪个串口,我用的方法是,当用到哪个串口时,就把哪个串口赋给USARTx
//例如要用到串口4,那就写成
//USARTx =UART4 ;
//不过你得先定义一下USARTx 这个变量,定义为32位的,因为UART4是指向一个32位的地址的,上面的赋值只是把
//UART4指向的地址赋给USARTx 而已,其它串口的使用也是一样的



#pragma import(__use_no_semihosting)   
/******************************************************************************   
*标准库需要的支持函数   
******************************************************************************/   
struct __FILE   
{   
int handle;   
/* Whatever you require here. If the only file you are using is */   
/* standard output using printf() for debugging, no file handling */   
/* is required. */   
};   
/* FILE is typedef’ d in stdio.h. */   
FILE __stdout;  

/// <summary>   
/// 定义_sys_exit()以避免使用半主机模式   
/// </summary>   
/// <param name="x"></param>   
/// <returns></returns>   
_sys_exit(int x)   
{   
x = x;   
}  



int fputc(int ch, FILE *f)  
{
    USARTx->DR = (u8) ch;  

    /* Loop until the end of transmission */  
    while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET)
    {  
    }

    return ch;  
}


/*******************************************************************************
* 函数名   :fgetc
* 输  入   :
* 输  出   :
* 功能说明 :
* 重定义getc函数,这样可以使用scanff函数从串口1输入数据
*******************************************************************************/
int fgetc(FILE *f)
{
/* 等待串口1输入数据 */
while (USART_GetFlagStatus(USARTx, USART_FLAG_RXNE) == RESET);

return (int)USART_ReceiveData(USARTx);
}

#endif

赵兰宝
3楼-- · 2019-07-17 11:07
yygy3748 发表于 2012-10-29 09:29
你的重定向有点问题啊,用下面这个吧,我发一个串口的文件给你,你打开看看,上面的四个串口都是同时在运 ...

好的,我先试试看,有什么问题我们再探讨,谢谢你。
yygy3748
4楼-- · 2019-07-17 13:20
赵兰宝 发表于 2012-10-29 09:39
好的,我先试试看,有什么问题我们再探讨,谢谢你。

不用谢,上面的程序是在我跑裸机的时候用的,我现在才刚刚开始跑系统,也是uCOS II的
赵兰宝
5楼-- · 2019-07-17 15:43
赵兰宝 发表于 2012-10-29 09:39
好的,我先试试看,有什么问题我们再探讨,谢谢你。

开始还发了几个数是正确的  只不过中间有些乱数据      但再下进去就程序跑不起来了    可能是哪里还没对
aristot1e
6楼-- · 2019-07-17 16:35
 精彩回答 2  元偷偷看……

一周热门 更多>