1. 串口配置
void USART3_Configuration(uint32_t Baudrate)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;
GPIO_Init(GPIOB,&GPIO_InitStructure);
USART_InitStructure.USART_BaudRate=Baudrate;
USART_InitStructure.USART_WordLength=USART_WordLength_8b;
USART_InitStructure.USART_StopBits=USART_StopBits_1;
USART_InitStructure.USART_Parity=USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
USART_Init(USART3,&USART_InitStructure);
USART_ITConfig(USART3, USART_IT_IDLE,ENABLE);
USART_Cmd(USART3,ENABLE);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
2.DMA配置
void DMA_USART3Rx_Init(void)
{
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
DMA_DeInit(DMA1_Channel3);
DMA_InitStructure.DMA_PeripheralBaseAddr=(u32)&USART3->DR;
DMA_InitStructure.DMA_MemoryBaseAddr=(u32)USART3_DMA_Rxbuf;
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
DMA_InitStructure.DMA_BufferSize=DMA1_MEM_LEN;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
DMA_Init(DMA1_Channel3,&DMA_InitStructure);
DMA_Cmd(DMA1_Channel3,ENABLE);
USART_DMACmd(USART3,USART_DMAReq_Rx,ENABLE);
}
3.串口中斷處理
void USART3_IRQHandler(void)
{
int temp = 0;
unsigned int i=0;
if(USART_GetITStatus(USART3,USART_IT_IDLE)!=RESET)
{
temp = USART3->SR;
temp = USART3->DR;
DMA_Cmd(DMA1_Channel3,DISABLE);
temp=DMA_GetCurrDataCounter(DMA1_Channel3);
Rx_Len=USART_BUF_MAX-DMA_GetCurrDataCounter(DMA1_Channel3);
if(Rx_Len>=USART_BUF_MAX)
{
}
else
{
if(USART_data_flag==0)
{
for(i=0;i DMA_Rxbuf[i]=USART3_DMA_Rxbuf[i]; DMA_Rxbuf[i]='\0'; } USART_EOF=1; } DMA_SetCurrDataCounter(DMA1_Channel3,USART_BUF_MAX); DMA_Cmd(DMA1_Channel3,ENABLE); temp=temp; } } 備注:在此串口接收函數(shù)中 如果接收的數(shù)據(jù)大于接收buffer 則會(huì)出錯(cuò) 需要防止這種錯(cuò)誤
上一篇:STM32F103之DMA實(shí)驗(yàn),內(nèi)存通過DMA向串口1發(fā)送數(shù)據(jù)
下一篇:stm32f103串口實(shí)用DMA實(shí)現(xiàn)收發(fā)
推薦閱讀
史海拾趣
宏發(fā)公司在發(fā)展過程中,積極實(shí)施國際化戰(zhàn)略。2003年,宏發(fā)成立了歐洲公司,加快了國際化進(jìn)程。隨后,公司又在美國等地設(shè)立了分支機(jī)構(gòu),建立了本土化營銷及服務(wù)網(wǎng)絡(luò)。通過國際市場(chǎng)的拓展,宏發(fā)不僅提升了品牌知名度和影響力,還獲得了更多的市場(chǎng)機(jī)會(huì)和客戶資源。如今,宏發(fā)的產(chǎn)品已暢銷全球多個(gè)國家和地區(qū),成為了繼電器行業(yè)的領(lǐng)軍企業(yè)。
為了推動(dòng)公司的進(jìn)一步發(fā)展,宏發(fā)公司于2008年進(jìn)行了股份制改造,并成立了“廈門宏發(fā)電聲股份有限公司”。2012年,公司成功上市,通過資本市場(chǎng)獲得了更多的資金支持和發(fā)展動(dòng)力。上市后,宏發(fā)繼續(xù)加大在技術(shù)研發(fā)、市場(chǎng)拓展和產(chǎn)能提升等方面的投入,不斷鞏固和擴(kuò)大其在繼電器行業(yè)的領(lǐng)先地位。同時(shí),公司還積極履行社會(huì)責(zé)任,為行業(yè)發(fā)展和地方經(jīng)濟(jì)做出了積極貢獻(xiàn)。
Epitex非常重視企業(yè)文化的建設(shè)和團(tuán)隊(duì)精神的培育。他們倡導(dǎo)“創(chuàng)新、協(xié)作、務(wù)實(shí)、共贏”的價(jià)值觀,鼓勵(lì)員工積極創(chuàng)新、勇于挑戰(zhàn)。同時(shí),Epitex還注重員工關(guān)懷和福利待遇的提升,為員工提供良好的工作環(huán)境和發(fā)展空間。
在團(tuán)隊(duì)建設(shè)方面,Epitex注重培養(yǎng)員工的團(tuán)隊(duì)協(xié)作能力和溝通能力。他們定期組織團(tuán)隊(duì)活動(dòng)和培訓(xùn)項(xiàng)目,增強(qiáng)團(tuán)隊(duì)的凝聚力和向心力。這種積極向上的企業(yè)文化和高效的團(tuán)隊(duì)協(xié)作為Epitex的持續(xù)發(fā)展提供了有力保障。
面對(duì)日益嚴(yán)峻的環(huán)境問題,Chino-Excel公司積極倡導(dǎo)環(huán)保理念,將綠色生產(chǎn)貫穿于整個(gè)產(chǎn)業(yè)鏈。公司采用環(huán)保材料和節(jié)能技術(shù),降低產(chǎn)品生產(chǎn)和運(yùn)營過程中的能耗和排放。同時(shí),公司還積極參與環(huán)保公益活動(dòng),推動(dòng)整個(gè)行業(yè)向更加環(huán)保、可持續(xù)的方向發(fā)展。
背景:隨著全球經(jīng)濟(jì)一體化的加速推進(jìn),HCH Co公司意識(shí)到必須加快全球化步伐以拓展更廣闊的市場(chǎng)空間。公司制定了詳細(xì)的全球化戰(zhàn)略,包括在海外設(shè)立研發(fā)中心、生產(chǎn)基地和銷售網(wǎng)絡(luò)等。
發(fā)展:通過全球化戰(zhàn)略的實(shí)施,HCH Co公司成功進(jìn)入了多個(gè)國際市場(chǎng),并與當(dāng)?shù)氐钠髽I(yè)和機(jī)構(gòu)建立了緊密的合作關(guān)系。公司的品牌影響力不斷提升,產(chǎn)品銷量也實(shí)現(xiàn)了快速增長(zhǎng)。同時(shí),全球化戰(zhàn)略還為公司帶來了更多的技術(shù)、人才和市場(chǎng)資源,為公司的長(zhǎng)期發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。
Heatron LED Integration始終將客戶需求放在首位,提供全方位的服務(wù)支持。公司建立了完善的售前咨詢、售中指導(dǎo)和售后服務(wù)體系,確??蛻粼谑褂眠^程中能夠得到及時(shí)、專業(yè)的幫助。此外,公司還根據(jù)客戶需求提供定制化解決方案,滿足不同場(chǎng)景下的照明需求。這種客戶至上的服務(wù)理念,贏得了廣大客戶的信賴和好評(píng)。
我用ADS,需要一款攔截?cái)?shù)據(jù)軟件,最好攔截的數(shù)據(jù)能轉(zhuǎn)化為USB類型。。。 不知道我這樣表述清楚了沒,謝謝大家回復(fù)… 查看全部問答∨ |
|
OEMAddressTable ;;;------------------------------------------------------------- ;;; Virt Addr Phys Addr MB ;;;-------------------------------------------------- ...… 查看全部問答∨ |
USB activesync 同步,論壇里面談?wù)摰暮芏?,但是查了以前的帖子都沒能對(duì)應(yīng)上的。鬧騰了好長(zhǎng)時(shí)間,都沒能解決,請(qǐng)各位朋友幫助! 現(xiàn)像有點(diǎn)奇怪。每次鏡像燒些后(NOR flash 啟動(dòng)),同步是能連接上的。但是再關(guān)閉電源, ...… 查看全部問答∨ |
我用vs2005 c#開發(fā), 新建項(xiàng)目類型是wince5.0 代碼如下: [DllImport(\"Rasapi32.dll\", EntryPoint = \"RasEnumConnectionsA\", SetLastError = true)] ...… 查看全部問答∨ |
|
Altium designer summer 09安裝到破解步驟2生成不了alf文件,哪位高手指點(diǎn)一下 ADS9 安裝后 進(jìn)行破解,第二步生成不了alf文件,求高手指點(diǎn)一下,我的是win7系統(tǒng),破解是關(guān)了殺毒了,路徑都是英文的。請(qǐng)問還有哪個(gè)地方出錯(cuò)么?破解都是按說明安裝的。… 查看全部問答∨ |
|
【MP430共享】農(nóng)業(yè)大棚灌溉測(cè)控儀的設(shè)計(jì) 針對(duì)目前農(nóng)業(yè)大棚管道灌溉網(wǎng)的終端檢測(cè)問題, 基于霍爾器件和 MS P 4 3 0處理器設(shè)計(jì)了自動(dòng)檢測(cè)和報(bào)警控制裝置, 它能夠很好地解決因下游 未關(guān)徹底而造成的泄漏問題, 同時(shí)能夠完成用水量的計(jì)量。測(cè)試分析表明了該方案的科學(xué)性和可行性。  ...… 查看全部問答∨ |
選了一個(gè)FPGA的題目,題目是基于FPGA的多路高速信息采集系統(tǒng),主要功能是實(shí)時(shí)同步采集24路信號(hào),并通過以太網(wǎng)發(fā)射。在做的時(shí)候遇到了一些問題,想請(qǐng)教大神們。 采用12片LTC1407A采集數(shù)據(jù),需要存儲(chǔ)24路信號(hào),我想用FIFO來緩存,是用異步FIFO還是同 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 神經(jīng)形態(tài)芯片可能是革新機(jī)器人實(shí)時(shí)電機(jī)控制的未來
- 從三個(gè)方面理解ARM嵌入式系統(tǒng)
- 自動(dòng)報(bào)警 基于MCU的家庭防盜報(bào)警系統(tǒng)的設(shè)計(jì)
- 存儲(chǔ)控制器及其訪問外設(shè)的原理
- 基于51系列單片機(jī)的智能照明控制系統(tǒng)設(shè)計(jì)方案
- 基于STM32的四旋翼飛行器控制系統(tǒng)
- 單片機(jī)應(yīng)用編程技巧解析
- 基于89C52的教室智能節(jié)能照明系統(tǒng)設(shè)計(jì)
- 一種新型的雨量光照傳感器的設(shè)計(jì)
- 下載有禮:數(shù)據(jù)中心養(yǎng)生秘籍《福祿克數(shù)據(jù)中心解決方案》等你帶回家!
- 2020年全球工程師調(diào)查
- 下載有禮|電路設(shè)計(jì)的參考書《ADI 參考電路合集 (第4冊(cè)) 》
- 3.5\"嵌入式主板給力開團(tuán) 僅售599元包郵!
- 技術(shù)直播【安森美功率器件在新能源市場(chǎng)中的應(yīng)用】(9:30入場(chǎng))
- TI低功耗藍(lán)牙技術(shù)與阿里云IoT智能生活開放平臺(tái)iLOP的完美結(jié)合!預(yù)報(bào)名+看直播均可贏好禮!
- 【干貨視頻】走進(jìn)TE智能制造工廠,追蹤連接器綠色生產(chǎn)全過程
- STEVAL-BLUEMIC-1 無法用早期的BlueMS版本
- 【Atmel SAM R21創(chuàng)意大賽周計(jì)劃】+解決ZAppSINP編譯出錯(cuò)
- 單片機(jī)漢字顯示器件12232F
- 無線射頻前端基礎(chǔ)有關(guān)問題
- 請(qǐng)教:選擇哪款芯片?
- wince 5.0 + 2440 ,無法同時(shí)支持三種USB 設(shè)備同時(shí)工作??
- 【CN0208】高性能iMEMS數(shù)字麥克風(fēng)簡(jiǎn)化與SigmaDSP音頻處理器的接口
- 要DSP仿真器制作資料的可以找我
- 求助,多級(jí)放大電路穩(wěn)定性分析
- Altera代理駿龍的學(xué)習(xí)資料