關於stm32微控制器的串列埠除錯問題

2022-02-21 14:25:45 字數 2121 閱讀 3948

1樓:匿名使用者

估計是你的串列埠時鐘沒有初始化,所以編譯正確也沒有效果

看看我的初始化

/* enable usart1 and gpioa clock */

rcc_apb2periphclockcmd(

rcc_apb2periph_usart1

| rcc_apb2periph_gpioa

| rcc_apb2periph_afio,

enable);

/* enable usart2 and gpioa clock */

// 第2個usart為pa2 pa3

rcc_apb1periphclockcmd(rcc_apb1periph_usart2, enable);

// >>>>>是否也應該為usart3也設定呢?

rcc_apb1periphclockcmd(rcc_apb1periph_usart3, enable);

rcc_apb2periphclockcmd(

rcc_apb2periph_gpiob

| rcc_apb2periph_afio, enable);

// 初始化uart4埠時鐘、複用埠

rcc_apb1periphclockcmd(rcc_apb1periph_uart4,enable);

rcc_apb2periphclockcmd(

rcc_apb2periph_gpioc

| rcc_apb2periph_afio, enable);

對比你的usart1埠的

rcc_apb2periphclockcmd(

rcc_apb2periph_usart1|

rcc_apb2periph_gpioa,enable);

阿莫上有明確的一個解釋:

1.afio是引腳複用時鐘,只要用到引腳的第二功能,都需要開啟,你說不開啟這個時鐘也能用,我有些不太相信,可能是你程式裡別的地方有開啟

2.用usart1的時候pa9,pa10已接到串列埠上了,你又問能不能正常使用,我有些不明白你到底是什麼意思

2樓:匿名使用者

恩!你是什麼編譯環境!??

如果是keil4的話有一個地方需要改動一下!

3樓:肥肥的爆米花

lz程式在**?我幫你看看。ls那個發程式的是不是你?如果是你的話,你的程式錯在沒有中斷優先順序配置,那裡面有箇中斷使能,使能了你才能進中斷。

stm32哪個串列埠除錯工具好用

4樓:匿名使用者

串列埠除錯工具不區分那個晶片的,推薦你使用大傻,如果你需要抓包檢視串列埠資料的話,也可以使用accessport。

5樓:匿名使用者

既然是初學者,這種問題最好自己解決,看stm32資料手冊,上網找例程自己改,才能學到東西。main函式裡必須要有while(1)或者是你說的for(;;),因為如果沒有的話,程式執行完後會跑飛的,出現各種莫名其妙的錯誤。你main函式裡除了初始化配置在while(1)前之外,所有的非中斷程式都要在死迴圈裡做。

main如果沒有while(1),程式執行完後就不知道跑到**了,不能這麼幹

求一段 電腦用串列埠除錯工具向stm32傳送資料控制led燈 的stm32 程式

6樓:匿名使用者

既然是初學者,這種問題最好自己解決,看stm32資料手冊,上網找例程自己改,才能學到東西。

main函式裡必須要有while(1)或者是你說的for(;;),因為如果沒有的話,程式執行完後會跑飛的,出現各種莫名其妙的錯誤。

你main函式裡除了初始化配置在while(1)前之外,所有的非中斷程式都要在死迴圈裡做。

main如果沒有while(1),程式執行完後就不知道跑到**了,不能這麼幹

stm32 怎麼用串列埠除錯工具給微控制器傳送資料 然後微控制器在將接收到的資料傳送給pc

7樓:匿名使用者

配置好接收中斷,然後再中斷裡面清除中斷標誌位,在傳送接收到的資料

8樓:匿名使用者

能將問題說的再詳細一點嗎?stm32可以直接和pc通訊啊!

stm32比51微控制器有什麼優點

優點如下 1 stm32屬於arm核心的一個版本,比傳統的51微控制器高階多了,有很多資源是51不具備的,如usb控制器。而且已經廢除了機器週期什麼的,速度不是51能比的。2 stm32微控制器程式都是模組化的,介面相對簡單些,因為它自身帶好多功能,工作速度也快。而51的自身功能少,需要外圍元件多,...

stm32和51微控制器可以公用keil進行編嗎

可以的,破解時兩個都 要破解,用 keil4也可以編譯51,啟動時找不到路徑可以自行新增,在一個tools.ini檔案裡有如下資訊 可見有兩個path uv2 organization 平煤股份十一礦 name xia ming xia version v2.0 email 11kxmx 163.c...

51微控制器串列埠問題 傳送位元組 為什麼串列埠除錯軟體連續接收 下附程式

兩個錯誤復。while ti ti 0 這是一個。制while ti 後面少一個分bai號!變成了,du原本正確的程式是想讓zhiti 1的時候,把daoti清零,但是你現在變成了 當ti為0的時候執行ti 0,而當ti變成1的時候卻反而不執行ti 0了,因此每次傳送完成一個字元以後,ti的值沒有清...