串口的配置(以stm32f103c8t6串口1為例)
USART_InitTypeDef chuanko;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
chuanko.USART_BaudRate=9600;
chuanko.USART_WordLength=USART_WordLength_8b;
chuanko.USART_StopBits=USART_StopBits_1;
chuanko.USART_Parity=USART_Parity_No;
chuanko.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
chuanko.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;
USART_Init(USART1,&chuanko);
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
USART_Cmd(USART1,ENABLE);
USART_ClearFlag(USART1,USART_FLAG_TC);
USART_InitTypeDef串口結構體變量類型
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);打開apb2總線上的串口時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);打開apb2總線上的復用時鐘
chuanko.USART_BaudRate=9600;串口波特率
波特率:模擬線路信號的速率,以波形每秒的振蕩數來衡量。如果數據不壓縮,波特率等于每秒鐘傳輸的數據位數,如果數據進行了壓縮,那么每秒鐘傳輸的數據位數通常大于調制速率,使得交換使用波特和比特/秒偶爾會產生錯誤。
chuanko.USART_WordLength=USART_WordLength_8b;數據位數
chuanko.USART_StopBits=USART_StopBits_1;停止位數
chuanko.USART_Parity=USART_Parity_No;有無奇偶校驗
chuanko.USART_HardwareFlowControl=USART_HardwareFlowControl_None;硬件流控制
chuanko.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;串口模式 發送 接收
USART_Init(USART1,&chuanko);傳入結構體變量地址,配置串口
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);打開串口中斷
USART_Cmd(USART1,ENABLE);使能串口1
USART_ClearFlag(USART1,USART_FLAG_TC);清空標志位
io初始化
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA , ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10 ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
{
......;
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
}
}
編寫中斷服務函數,每收到1字節數據進入一次中斷服務函數
USART_ReceiveData(USART1);返回收到的數據
USART_SendData(USART1,數據);發送數據
printf重定向
printf是c語言標準輸入輸出庫中的函數,只需修改它的輸出到串口即可
包含stdio.h重載下面這個函數完成重定義
int fputc(int ch,FILE *f)
{
USART_SendData(USART1,(u8)ch);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
return ch;
}
上一篇:STM32學習筆記-ADC采集-串口2發送至上位機
下一篇:STM32學習筆記-定時器中斷
推薦閱讀
史海拾趣
Fremont Micro Devices USA公司的發展故事
故事一:初創與成長
Fremont Micro Devices USA(簡稱FMD或弗里蒙特微)的故事始于對高性能模擬及數模混合信號集成電路設計的執著追求。公司于多年前在加利福尼亞成立,起初是一家小型但充滿活力的初創企業,專注于非易失性存儲芯片、MCU芯片和電源管理芯片的研發。憑借其創始團隊在半導體行業的深厚背景和技術專長,FMD迅速在消費電子、便攜設備和通訊/網絡領域嶄露頭角。通過持續的技術創新和產品研發,FMD逐漸積累了市場聲譽,吸引了多家國際知名風險投資公司的關注和支持,為公司的快速發展奠定了堅實的基礎。
故事二:技術突破與市場拓展
在FMD的發展歷程中,技術突破是推動其不斷前進的重要動力。公司研發團隊擁有國內外頂尖半導體企業的工作經驗,他們致力于全定制和半定制的數模混合芯片設計,不斷提升產品的性能和可靠性。通過不斷的技術積累和創新,FMD在Memory、MCU和PMIC等領域取得了顯著的技術突破,擁有了業界領先的技術基礎和IP積累。這些技術成果不僅提升了公司的市場競爭力,也為其在消費類、智能硬件、IOT和工控安防等應用領域的市場拓展提供了有力支持。
故事三:全球化布局與供應鏈管理
隨著業務的不斷擴張,FMD開始布局全球化市場。公司在美國本土建立了完善的研發和生產體系,同時在中國深圳設立了總部,并在香港設立了辦事處,以便更好地服務亞太地區的客戶。此外,FMD還積極與全球知名的電子元器件分銷商合作,建立了穩定的供應鏈體系。通過優化供應鏈管理,FMD確保了產品的質量和交付速度,進一步提升了客戶滿意度和市場競爭力。
故事四:應對行業挑戰與危機
在電子行業的發展過程中,FMD也面臨著諸多挑戰和危機。例如,全球半導體市場的周期性波動、國際貿易環境的變化以及新冠疫情的爆發等都對公司的運營和發展產生了一定的影響。然而,FMD憑借其強大的技術實力和市場敏銳度,積極應對這些挑戰和危機。公司通過加強研發創新、優化產品結構、拓展新興市場等方式,保持了業績的穩定增長,并在逆境中實現了新的發展。
故事五:上市規劃與未來發展
近年來,FMD在資本市場也取得了重要進展。公司已完成與中信證券的上市輔導協議簽署,并在深圳證監局備案,擬在A股市場掛牌上市。這一舉措不僅將為FMD帶來更多的資金支持和發展動力,也將進一步提升公司的品牌影響力和市場競爭力。展望未來,FMD將繼續秉承高性能、高可靠性和低成本的理念,加大在研發創新和市場拓展方面的投入力度,為客戶提供更加優質的產品和服務,推動公司向更高層次的發展邁進。
為了確保產品質量的穩定性和可靠性,Analytic Instruments Corp不斷完善質量管理體系。公司引進了先進的生產設備和檢測儀器,建立了嚴格的質量控制流程。同時,公司還加強了員工的培訓和管理,提高了員工的質量意識和操作技能。這些舉措使得公司的產品質量得到了客戶的高度認可,進一步鞏固了市場地位。
隨著技術的不斷成熟和產品線的不斷豐富,Analytic Instruments Corp開始積極拓展市場。公司通過與行業內的知名企業和研究機構建立合作關系,成功地將產品打入多個重要的應用領域。同時,公司還加大了品牌宣傳力度,通過參加行業展會、舉辦技術研討會等方式,提升了品牌知名度和影響力。
面對日益激烈的市場競爭,德立電子積極擁抱數字化轉型。公司引進先進的生產管理系統和智能設備,實現生產過程的自動化和智能化。通過數字化改造,德立電子提高了生產效率,縮短了生產周期,降低了成本,進一步增強了市場競爭力。
Electronic-Bauteile Goerlitz GmbH公司自創立之初,就以其獨特的技術創新為核心競爭力。公司不斷投入研發資源,開發出了一系列具有競爭力的電子產品部件。這些部件以其高性能、低功耗和可靠性,贏得了市場的廣泛認可。公司通過與高校和研究機構的合作,不斷引進新技術,推動產品升級換代,確保了其在行業中的領先地位。
在技術創新的基礎上,Electronic-Bauteile Goerlitz GmbH公司積極拓展市場。公司通過分析市場需求,調整產品策略,不斷推出符合市場需求的新產品。同時,公司加強了品牌建設,通過參加國際展會、舉辦技術研討會等活動,提高了品牌知名度和影響力。這些努力使得公司的產品在國內外市場上都取得了良好的銷售業績。
地彈的形成: 芯片內部的地和芯片外的PCB地平面之間不可避免的會有一個小電感。這個小電感正是地彈產生的根源,同時,地彈又是與芯片的負載情況密切相關的。下面結合圖介紹一下地彈現象的形成。 簡單的構造如上圖的一個小“場景”,芯片A為 ...… 查看全部問答∨ |
0 引 言 電子研發工程師最常采用的EMI/EMC防范措施不外乎是屏蔽、濾波、接地和布線,但是隨著電子系統的集成化,在考慮成本、質量、功能,又要兼顧產品推出速度的要求下,工程師們必須在設計初始階段就展開EMI/EMC預測分析和設計,避免在研發 ...… 查看全部問答∨ |
沉迷技術的電工,都是些很笨的腦袋。 這是偶的反面教材。偶就是太沉迷這一行了。 世界的多樣性,必須要學習各類/各方面的東西才能在這社會生存。 好比理財,房產,股票,金融,商業營銷,對象心理學,。。。。。 偶就會沉迷在示波器前,仿真器 ...… 查看全部問答∨ |
|
Bor ad co m公司新近推出的第三代高集成度以太網交換芯片架構StrataXGSm與其前兩代產品相比,具有極高的集成度、采用了嵌人式安全技術、增加了IPv6路由功能和無線局域網(WLAN)技術… 查看全部問答∨ |
本帖最后由 jameswangsynnex 于 2015-3-3 19:59 編輯 距5月21日谷歌聯合索尼、英特爾發布了其智能電視產品僅10天,TCL集團即率先在國內研制成功基于Android操作系統的智能電視。谷歌公司投入巨資開發的GOOGLE TV系統核心特點是其開放性和平臺性, ...… 查看全部問答∨ |
當面交易,本人是在西安上學的研究生,在西安的朋友可以看看! Altera FPGA\\CPLD設計(基礎篇) 王誠、吳繼華、范麗珍、薛寧 人民郵電出版社 原價45.00 現價20.00 8成新 Xilinx ISE 9.X FPGA/CPLD設計指南 薛小剛、葛毅敏 人民郵電出版社 原價45 ...… 查看全部問答∨ |
今天 凌晨 有個小偷 在我3樓的窗外,很厲害的,呵呵,拿紅色燈光的電筒看我家,被我爸發現了,跑了 準備搗鼓個 安防的MCU系統 一般 窗戶移動 可以用 電磁式的 ,人的體溫 用紅外的,還有聲音 方面,等等 ,高級的用 攝像頭 錄像 ...… 查看全部問答∨ |
#include #define uchar unsigned char #define slave 0x02 #define BN 16 uchar idata rbuf[16]; uchar idata tbuf[16]={\"master transmit\"}; void err(void) {SBUF=0xff; while(TI==0);TI=0; } uchar master(uchar addr,uchar comm ...… 查看全部問答∨ |
四年的電子工程畢業后,懷著對電子技術的一腔熱忱到了一家企業的技術研發中心。第一次接觸到實戰項目—電子計價秤,采用帶AD和LCD驅動的NEC的單片機,全部采樣匯編語言,整整看了一個月才算有點入門,至今還記得Firmware師傅的流程圖 ...… 查看全部問答∨ |