STM8L101f3p6 有一個串口如圖
本歷程基于庫操作 不討論具體寄存器操作
有興趣的同學可以自行參考編程手冊
下面看一下手冊的了解一下特點
本人英語是個小白只可意會不可言傳了
內部結構了由于是基于庫函數的所以不做寄存器的分析了
庫函數的好處就是可以在不了解單片機寄存器的前提下 可以快速開發應用
下面舉個例子
波特率 9600 8位字長停止位一位 無校驗
串口模式為收發模式 查詢發送 中斷接收
在初始化串口之前 應該先初始化 串口對應的IO口 由手冊可知串口對應的IO為PC2(USART_RX)和PC3(USART_TX)。
首先宏定義下IO 方便理解和配置
#define TXD_GPIO_PORT GPIOC
#define RXD_GPIO_PORT GPIOC
#define TXD_GPIO_PINS GPIO_Pin_3
#define RXD_GPIO_PINS GPIO_Pin_2
初始化IO
TxD 配置成輸出上拉高速模式
RxD 配置成輸入上拉無中斷模式
GPIO_Init(TXD_GPIO_PORT, TXD_GPIO_PINS, GPIO_Mode_Out_PP_High_Fast);
GPIO_Init(RXD_GPIO_PORT, RXD_GPIO_PINS, GPIO_Mode_In_PU_No_IT);
接下來打開串口模塊時鐘(之前就是忘配置這個功能 所以一直不好使)
CLK_PeripheralClockConfig(CLK_Peripheral_USART, ENABLE);
配置串口詳細的功能
USART_Init((u32)9600, USART_WordLength_8D, USART_StopBits_1, USART_Parity_No, (USART_Mode_TypeDef)(USART_Mode_Rx| USART_Mode_Tx));
開啟接收中斷
USART_ITConfig(USART_IT_RXNE, ENABLE); //開啟接收中斷
打開串口
USART_Cmd(ENABLE);
最后在開啟總中斷就可以啦
enableInterrupts(); /* 開啟總中斷 */
發個數據
UART_SendString("This is a UART Demo \r\n");
哈哈 好使
下面是完整的功能函數
/*******************************************************************************
* 名稱: Uart_Init
* 功能: UART2初始化操作
* 形參: 無
* 返回: 無
* 說明: 無
******************************************************************************/
void Uart_Init(void)
{
GPIO_Init(TXD_GPIO_PORT,TXD_GPIO_PINS, GPIO_Mode_Out_PP_Low_Fast);
GPIO_Init(RXD_GPIO_PORT,RXD_GPIO_PINS, GPIO_Mode_In_PU_No_IT);
// GPIO_ExternalPullUpConfig(GPIOC,GPIO_Pin_3|GPIO_Pin_4, ENABLE);
CLK_PeripheralClockConfig(CLK_Peripheral_USART, ENABLE);
USART_DeInit(); /* 將寄存器的值復位 */
/*
* 將UART2配置為:
* 波特率 = 9600
* 數據位 = 8
* 1位停止位
* 無校驗位
* 使能接收和發送
*/
USART_Init((u32)9600,USART_WordLength_8D, USART_StopBits_1, \
USART_Parity_No,(USART_Mode_TypeDef)(USART_Mode_Rx | USART_Mode_Tx));
USART_ITConfig(USART_IT_RXNE,ENABLE); //開啟接收中斷
USART_Cmd(ENABLE);
enableInterrupts(); /* 開啟總中斷 */
}
上一篇:IAR中創建stm8s 工程時assert_failed函數引發的錯誤
下一篇:STM8S和STM8L調試串口中斷的注意點
推薦閱讀
史海拾趣
- 創業初期:
- 描述Clulite公司的創始人或核心團隊如何識別電子行業中的某個市場機遇。
- 講述他們是如何籌集初始資金,設立公司,并開發出第一款產品或解決方案的。
- 可以提及公司在初創階段面臨的挑戰,如技術難題、市場競爭等。
- 技術創新:
- 講述Clulite如何通過研發創新,推出了一款顛覆性的產品或技術,從而獲得了市場認可。
- 詳細描述這一創新過程,包括研發團隊的努力、關鍵技術的突破等。
- 提及這一創新如何幫助公司在市場上取得了競爭優勢。
- 市場拓展:
- 描述Clulite如何逐步擴大市場份額,從地區市場走向全國乃至國際市場。
- 可以講述公司如何建立銷售網絡、與合作伙伴建立合作關系,以及參與行業展會等活動來推廣品牌和產品。
- 提及公司在市場拓展過程中遇到的挑戰和應對策略。
- 品質管理:
- 講述Clulite如何注重產品質量和客戶體驗,通過嚴格的質量控制流程來提升產品可靠性。
- 描述公司如何建立完善的售后服務體系,為客戶提供及時、專業的支持。
- 提及這些舉措如何幫助公司贏得了客戶的信任和口碑。
- 可持續發展:
- 講述Clulite如何關注環境保護和社會責任,推動公司的可持續發展。
- 描述公司如何采取環保措施,減少生產過程中的污染排放。
- 提及公司如何參與社會公益事業,回饋社會。
請注意,這些故事需要根據Clulite公司的實際情況進行調整和補充。如果你需要更具體的內容,建議查閱Clulite公司的官方網站、新聞報道或行業分析報告,以獲取更詳細的信息和數據。
DLP精工科技公司,一直秉承“品質至上”的經營理念,在DLP技術產品的設計和制造過程中嚴格把控品質。公司擁有一支專業的研發團隊和先進的生產設備,確保每一件產品都符合高標準的質量要求。通過不斷的技術創新和產品升級,DLP精工科技在電子行業中樹立了良好的品牌形象,贏得了消費者的信賴和認可。
隨著全球環保意識的不斷提高,博林公司積極響應號召,將綠色環保理念融入到產品設計和生產過程中。公司采用環保材料和節能技術,努力降低產品的能耗和排放。同時,博林公司還加強了對廢棄電子產品的回收和處理工作,實現了資源的循環利用。這些舉措不僅提升了博林公司的品牌形象,也為其在可持續發展的道路上奠定了堅實基礎。
需要強調的是,以上故事是基于一般性的行業知識和假設構建的,并不直接代表博林公司的實際發展經歷。博林公司的具體發展歷程和故事可能涉及更多的細節和復雜性,需要進一步的了解和研究。
為了降低生產成本、提高生產效率,博林公司開始實施產業鏈整合戰略。公司通過收購、兼并等方式,逐步掌握了從原材料供應到終端產品銷售的完整產業鏈。同時,博林公司還積極向垂直化方向發展,涉足與電子產品相關的多個領域,如芯片設計、軟件開發等。這種垂直化的發展模式使得博林公司在行業中更具競爭力,能夠更好地應對市場變化和客戶需求。
Antiference公司最初以生產電磁屏蔽材料起家,但隨著電子設備的普及和電磁干擾問題的日益嚴重,公司意識到單純的材料生產已無法滿足市場需求。于是,Antiference投入巨資研發新型電磁干擾抑制技術,成功開發出了一款能夠顯著降低電磁干擾的芯片。這款芯片迅速在市場上獲得了廣泛認可,Antiference也因此成為了電磁干擾抑制領域的領軍企業。
在快速發展的過程中,AB Connectors Ltd始終將品質管理放在首位。公司建立了完善的質量管理體系,從原材料采購、生產加工到產品出廠檢驗等各個環節都實行嚴格的質量控制。此外,公司還引進了先進的生產設備和檢測技術,不斷提高產品的精度和穩定性。這些措施有效提升了產品的品質水平,贏得了客戶的信任和好評。
上圖先: 1、拿到板子后,開始查看(貌似沒給我發LED,可能是玄空大師裝掉了吧,幸好之前的板子上還有,拆了下來 ),率先把EP2C5Q208、SDRAM、FLASH、PL2303焊上,拖了半天,還是給拖上去了,哈哈! 2、把104的電容全焊上,對照位號找了大半天呢 ...… 查看全部問答∨ |
在使用酸的電池制造方式中需要兩種不同的金屬。銅和鋅是非常好的選擇,因為它們能和檸檬中的檸檬酸形成很好的酸性電池環境。 Batteries like this will not be able to run a motor or energize most light bulbs. It is possible to produce a di ...… 查看全部問答∨ |
本帖最后由 paulhyde 于 2014-9-15 09:38 編輯 最好是基于AT89S52單片機的!!!!!!急用啊!不會啊!暈暈的啊! … 查看全部問答∨ |
|
移植了半個月,一個國慶假期都被我用掉了,終于把u-boot移植到了我的TQ2440,做了一些記錄貼出來吧! 環境:Windows XP + 虛擬機Fedora14交叉編譯器:arm-linux-gcc-4.3.2(EABI)u-boot版本:u-boot-2010-06.tar.bz2開發板資源: TQ2440Nor ...… 查看全部問答∨ |