日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ft232h引脚_usb转串口芯片 ft232的奇怪现象

發(fā)布時間:2023/12/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ft232h引脚_usb转串口芯片 ft232的奇怪现象 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

硬件平臺:

stm32f407+ft232RL

按照手冊上的電路,我用USB接口給ft232RL供電,如下圖:

0288f358ccd0026690b2443b41d98f0f_224.png (0 Bytes, 下載次數(shù): 12)

2010-12-14 22:54 上傳

我在這個電路的基礎上我用單片機串口和芯片對應的TX和RX相連接。

現(xiàn)在單片機上電,ft232不上電,測試的現(xiàn)象如下:

ft232的電源管腳居然有2.6V的電壓,也就是說這個電壓是由單片機TX引腳倒灌去的。

然后在這個基礎上我接上USB,發(fā)現(xiàn)電腦警告無法識別。

然后我給單片機斷點,直接接上USB,這樣ft232就可以正常的被主機檢測到了。

但是緊接著又給單片機上電,電腦又會報警無法識別!

下面附上串口配置代碼:

[mw_shl_code=c,true]#include

#include

#include

#include "SysDebug.h"

/*

功能:串口1IO口初始化

*/

static void USART1_GPIO_Configuration(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

//打開時鐘

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);

//先將對應寄存器配置為缺省值

GPIO_StructInit(&GPIO_InitStructure);

//對應,復用、推挽

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;

//復用IO口

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;

//推挽

GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//GPIO_OType_OD;//GPIO_OType_PP;

//帶上拉

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

//最大相應速度為50MHZ

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

//將以上設置應用于對應寄存器

GPIO_Init(GPIOB,&GPIO_InitStructure);

//對應浮空輸入模式

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;

//輸入

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;

//浮空

GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;

//將以上設置應用于對應寄存器

GPIO_Init(GPIOB,&GPIO_InitStructure);

//復用功能映射IO

//注意:不能用|配置多個!!!!!

GPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_USART1);

GPIO_PinAFConfig(GPIOB,GPIO_PinSource7,GPIO_AF_USART1);

}

/*

功能:串口1寄存器配置

*/

static void USART1_Register_Configuration(void)

{

USART_InitTypeDefUSART_InitStructure;

//打開USART1時鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

//配置為缺省值

USART_StructInit(&USART_InitStructure);

//設置波特率為115200

USART_InitStructure.USART_BaudRate=115200;

//傳送數(shù)據(jù)位為8位

USART_InitStructure.USART_WordLength=USART_WordLength_8b;

//停止位為1位

USART_InitStructure.USART_StopBits=USART_StopBits_1;

//無奇偶校驗

USART_InitStructure.USART_Parity=USART_Parity_No;

//全雙工模式

USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;

//不采用硬件流

USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;

//將這些配置對應于USART1

USART_Init(USART1,&USART_InitStructure);

//使能串口

USART_Cmd(USART1,ENABLE);

}

/*

功能:通信口初始化

*/

voidCom2HostInit(void)

{

USART1_GPIO_Configuration();

USART1_Register_Configuration();

}

/*

功能:重定向C庫函數(shù)printf到USART1

注意:要在編譯器中選中->Use MicroLIB(使用微庫)

使用:定義好這個函數(shù)后,就可以直接使用->printf()函數(shù)

*/

int fputc(int ch,FILE*f)

{

//將Printf內(nèi)容送往串口

USART_SendData(USART1,(unsigned char)ch);

//等待發(fā)送完成

while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);

return (ch);

}

[/mw_shl_code]

我試過把TX配置為開漏上拉,這樣FT232電源口電壓就變?yōu)?.8V,但是依然不能被正常識別!

所以現(xiàn)在的問題就是:

在單片機上電,FT232不上電的情況下,單片機串口管腳電壓會倒灌到芯片中,并且這個會影響電腦無法識別FT232,

請問該怎么解決?

總結(jié)

以上是生活随笔為你收集整理的ft232h引脚_usb转串口芯片 ft232的奇怪现象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。