新手必看,關於STM32其他問題

新手必看,關於STM32其他問題

1、使用JTAG download程序至STM32F205XX(with Cortex-M3)
問:請教各位先進,若欲使用JTAG interface下載程序至STM32F205XX的板子,似乎一般是透過SEGGERJ-link,是否可使用其他的JTAG-USB下載線如Altera出的USB Blaster?
又是否只要符合JTAG規範的傳輸線皆可?

1:只要支持M3並且支持STM32F2XX系列就可以,不一定非要JTAG,也可以使用SWD

2ARM KEIL ULINK也行,兼容性非常好呀!

2STM32觸摸屏

問:我想用STM32來觸摸一款觸摸屏,因爲我現在還不瞭解STM32以及觸摸屏,所以我想問一下,具體用那款單片機型號最好? 最好是STM32內部已經具有觸摸屏的控制器了。屏有沒有數據傳輸總線是32位的,正好和單片機總線一樣 。另要求屏的色彩深度也是32位或者是24位。3.2寸左右,這個可大也可小點。 能不能也推薦一款觸摸屏的型號,以及相關資料。

答:1、這個需要根據顯示屏來決定,市場上也有很多觸摸的顯示屏,STM32可以用過SPIFMCSIO口等來控制,這個要看你選擇的類型 2、型號和資料,這個要找廠家要,廠家一半都會給你合適的建議和 源代碼。

3STM32可以做什麼

問:學習了STM32可以做什麼?有什麼用途或者前途,請告訴,不勝感謝。

答:可以用的方面比較多,比如工業、消費、醫療等。這個要根據產品的需求來決定使用的芯片

4STM32F2X系列能能驅動多大尺寸TFTLCD呢?用FSMC模式

問:STM32F2X系列能能驅動多大尺寸TFTLCD呢?用FSMC模式,顯示簡單的菜單,參數等操作

答:這個沒有具體的參數,個人認爲10.0一下都沒問題。

5VDDVSS的去藕電容如何處理?
問:VDDVSS的去藕電容如何處理?

答:1、每對VDDVSS都必須在儘可能靠近芯片處分別放置一個10nF~100nF的高頻瓷介電容 2、在靠近VDD3VSS3的地方放置一個4.7μF~10μF的鉭電容或瓷介電容


6、系統時鐘的監控和切換的作用是什麼?

問:系統時鐘的監控和切換的作用是什麼?

最佳答案:STM32作爲一個可靠穩定的微處理器,但是不能排除由於某些外界特殊因素可能造成STM32的外部振盪器失效,所以在芯片中需要一種包含機制能夠在STM32運行時,一旦外部晶體振盪器(HSE)失效,切換STM32的系統時鐘源到一個穩定的時鐘源,以保證STM32能夠繼續運行,並進行相應的保護操作。

7PVD的作用是什麼?

答:在應用開發中,通常都要考慮到當系統電壓下降或掉電狀況,一旦出現該狀況應對控制系統加以保護。故在程序中需要加入對系統電壓的監控。當供電電壓降低到某一電壓值時,需要系統進入特別保護狀態,執行緊急關閉任務:對系統的一些數據保存起來,同時對外設進行相應的保護操作。

8STM32的三種低功耗模式是什麼?

答:1、睡眠模式Sleep:電壓調節器開啓,Cortex-M3內核停止運行,外設保持運行態; 2、停止模式Stop:電壓調節器可選擇性開啓,所有外設時鐘、PLLHSIHSE被關閉,Cortex-M3內核和所有外設停止運行,保留SRAM和寄存器的內容; 3、待機模式Standby:電壓調節器關閉、整個1.8v區域斷電。除了備份區域和待機電路的寄存器以外,SRAM和寄存器的內容全部丟失。

9STM32103RBTIM2 channel1以及UART2CTS都是PA0 pin, 他們是怎麼區分的?

答:IC的一根管腳,做多種外設的複用pin,很常見,在PA0上,只能作爲一種外設的管腳,但兩個外設能同時用嗎,當然是可以的。可以設置STM32中有的寄存器AFIO_MAPR來配置複用管腳及外設接口的重新映射,比如你選擇PA0UART2CTSPA0肯定不能再作爲TIM2channel1,但可以設置TIM2channel1的管腳爲PA15,請參考如下寄存器說明: Bits 9:8 TIM2_REMAP[1:0]: TIM2 remapping These bits are set and cleared by software. They control the mapping of TIM2 channels 1 to 4 and external trigger (ETR) on the GPIO ports. 00: No remap (CH1/ETR/PA0, CH2/PA1, CH3/PA2, CH4/PA3) 01: Partial remap (CH1/ETR/PA15, CH2/PB3, CH3/PA2, CH4/PA3) 10: Partial remap (CH1/ETR/PA0, CH2/PA1, CH3/PB10, CH4/PB11) 11: Full remap (CH1/ETR/PA15, CH2/PB3, CH3/PB10, CH4/PB11)


10 CSMA/CA算法
問:STM32W108CBU64執行一次CSMA/CA算法是延時多長時間?

RadioTransmitConfig radioTransmitConfig = {
TRUE, //waitForAck
TRUE, //checkCca
RADIO_CCA_ATTEMPT_MAX_DEFAULT, //ccaAttemptMax
RADIO_BACKOFF_EXPONENT_MIN_DEFAULT, //backoffExponentMin
RADIO_BACKOFF_EXPONENT_MAX_DEFAULT, //backoffExponentMax
TRUE //appendCrc
};

1:更簡單的可以設置兩個斷點,看下右下方的運行時間,就知道了!
2:這個沒有計算過,你可以在計算前加個定時器獲取值,計算完以後再獲取一下定時器的值,這樣就知道時間了。


11STM32F4系列軟件仿真問題
問:STM32F4系列能用Keil4.54,的debug進行軟件仿真嗎? 我一仿真,程序指針跳到0x00000000處。很奇怪
而且peripherals菜單選項沒有了。 請問這是怎麼回事?

答:可以。說明你程序有錯誤,而不能跳到啓動。你應該下載一個最新的KEIL

12、進入SLEEP模式的省電要操作哪些流程?
問:進入SLEEP模式的省電要操作哪些流程?
最佳答案:
1、關閉無需等待中斷或事件的外設時鐘;
2、設置進入機制(Sleep-NowSleep-on-Exit)
3、設置系統進入SLEEP模式。


13STM32W 的 wireshark Mxchip ADK-DK 可以充當嗎?

問:STM32W 的 wireshark Mxchip ADK-DK 可以充當嗎?
答:Wireshark 抓包器需配合MXCHIPsniffer-W使用,ADK-DK無法充當。

14STM8A不能從CAN接收中斷中喚醒Halt模式
1:我是做車載CAN通信的,使用STM8AF51AAMCU,但是發現CAN接收中斷不能喚醒Halt模式,但是改成Wait模式就可以喚醒,Walt模式的功耗過高,不符合車廠的要求。說明書上是說兩種都可以喚醒的,我現在不知道是我的設計有問題還是芯片不支持,哪位大蝦遇到這種情況的,可以跟大家一起分享嗎?謝謝啦!
11WKUIE中斷開啓了嗎? 2、支持該功能,你怎麼判斷他沒有進入喚醒?第一包的數據會丟失。
2::WKUIE中斷已經開啓,因爲我在Wait模式下可以正常喚醒,所以中斷設置是正常的,我在中斷函數裏面打個斷點,等待中斷的到來。
2:這個時候仿真不管用。你最好使用LED和串口調試信息

15F0 discovery 固件庫在IAR6.0上運行時提示錯誤
問:IAR ELF Linker V6.40.3.54009/W32 for ARM
Copyright 2007-2012 IAR Systems AB.
Error[Li005]: no definition for "SYSCFG_EXTILineConfig" [referenced from F:新建文件夾STM32F0系列測試程序Test1DebugObjstm32f0_discovery.o]
是哪裏的問題呢?我運行demo就無錯誤
Error[Li005]: no definition for "EXTI_Init" [referenced from F:新建文件夾STM32F0系列測試程序Test1DebugObjstm32f0_discovery.o]

2 358 bytes of readonly code memory
90 bytes of readonly data memory
1 057 bytes of readwrite data memory

Errors: 2
Warnings: none

Link time: 0.05 (CPU) 0.05 (elapsed)
Error while running Linker

Total number of errors: 2
Total number of warnings: 0

答:說明這2個沒有被定義,請仔細看一下,是否正確定義。

16、系統時鐘的監控和切換的作用是什麼?
問:系統時鐘的監控和切換的作用是什麼?
最佳答案:STM32作爲一個可靠穩定的微處理器,但是不能排除由於某些外界特殊因素可能造成STM32的外部振盪器失效,所以在芯片中需要一種包含機制能夠在STM32運行時,一旦外部晶體振盪器(HSE)失效,切換STM32的系統時鐘源到一個穩定的時鐘源,以保證STM32能夠繼續運行,並進行相應的保護操作。

17STM32W108CBU64執行一次CSMA/CA算法是延時多長時間?  

問: RadioTransmitConfig radioTransmitConfig = {
TRUE, //waitForAck
TRUE, //checkCca
RADIO_CCA_ATTEMPT_MAX_DEFAULT, //ccaAttemptMax
RADIO_BACKOFF_EXPONENT_MIN_DEFAULT, //backoffExponentMin
RADIO_BACKOFF_EXPONENT_MAX_DEFAULT, //backoffExponentMax
TRUE //appendCrc
};  
最佳答案:更簡單的可以設置兩個斷點,看下右下方的運行時間,就知道了!

18STM32F407Android系統的平板電腦通訊問題
問:請問我想用stm32f407usbAndroid系統的平板電腦通訊,現在我知道在xpw7系統下都可以做到,那在Android下能兼容嗎?如果不兼容都需要做哪些工作呢?希望能進快給我答覆謝謝。
1:按照android的通訊協議做就可以。
2:這個方向我也正在做、已經琢磨了很長時間了、有難度、關鍵是硬件不懂軟件、軟件不懂硬件還有協議的問題、後來考慮了個方法但是還沒有實施你可以實施看、用stm32枚舉成U盤、將你要表達的
協議寫成文件格式、你需要收的文件也由android做成文件、以文件的形式來交互協議

19、關於100Pin MCU FSMC的應用諮詢
問:根據ST datasheet描述,100pin mcu fsmc只支持NE1NCE2,意味着只能外掛Nor/PSRAM和無中斷功能的Nand,並且低地址A[15:0]D[15:0]是複用方式。
請問:
1NADV信號是否只有在Nor模式下纔能有效輸出鎖存信號,而在SRAM模式下輸出無效信號?
2:如果外掛一顆IS64LV25616這樣的SRAM,該如何將複用的AD分開?
3:如果使用100pin這樣的FSMC,是否一定要外加地址鎖存器,諸如74XX573這樣的芯片才能將複用的AD分開?
4:如果使用100pin這樣的FSMC,市場上有沒有與之對應的NorSRAM,可以自己解鎖出總線上的ADST有沒有這樣的chip
答:1、我要看看手冊 2AD複用,也就是隻能用1個 3、最好加鎖存器 4、有對應SRAM,這個你可以參考各個開發的設計

20stm32F207的相關資料從何處下載?
問:stm32F207的相關資料從何處下載?比如說,庫函數,應用說明,時鐘等等。最近做項目要使用stm32F207,但對這款芯片瞭解甚少。
答:您好,這個可以到社區的資料下載。或者到官方網站的F20X資料區下載。


22、用內部HSI時鐘時,外部時鐘引腳應該懸空還是接地?

問:用內部HSI時鐘時,外部時鐘引腳應該懸空還是接地?
最佳答案:懸空。接地都可以。最好是接地

23stm32f103c8t6芯片燒寫問題

問:如題芯片首次jlink燒寫程序沒有任何問題,第二次燒寫,jlink就不能識別,請問什麼原因?
現在是第一次連接上jlink以後,jlink就出現問題了,直接顯示是紅燈了還有一個問題,jtag的上拉下拉電阻是不是可以不接?還有32.768Khz的晶振是不是也可以沒有?
答:第一次燒錄時應該是空的IC吧,沒有燒錄過任何CODE吧。用JLINK燒錄完成後會自動斷開連接,如果你沒有對BOOT進行設置就不能再次燒錄。BOOT設置可以查看DATA SHEET

24CPU休眠後無法喚醒
問:CPU休眠後,RTC無法讓它喚醒,外部觸發也不能喚醒,示波器測試小晶振,有正常的波形
答:這種情況也有可能是因爲你對數組或者指針操作的時候引起的程序錯誤,而進入硬件錯誤中斷。

25、請問STM32W108CBU64可以構成星型網絡嗎?

問:可以組成多少個子節點?
最佳答案:一個局域網可以有很多電腦,只要IP地址不一樣就可以

26、請問各位大蝦STM32F207Camera接口支持ITU-R BT.656格式的數據輸入嗎?

問:本人想通過TVP5150將複合視頻信號轉爲ITU-R BT.565後,經STM32F207Camera接口送到LCD顯示,不知道是否能實現,請各位指教。
答:可以,但是效果不是很好。畢竟頻率才72Mhz


27LWIPfreertos的移植問題

問:請教大家一個問題,我現在想做lwipfreertos的移植,我在金牛 STM32F107_ETH_LwIP_V1.0.0例程的基礎之上移植了freertos,爲了驗證我的系統移植沒 有問題,首先我通過利用二值信號量的方式,實現了按鍵中斷等簡單程序,在這些都成功的情況下我把System_Periodic_Handle();做在了一個任務函數中,調用這個任務希 望實現telnet等基本功能,總是失敗,最後我發現是不能進入總是進不去
EXTI2_IRQHandler(void)中斷。我把中斷這一塊屏蔽了,在任務函數中加入
if (ETH_GetRxPktSize()!=0)
{
LwIP_Pkt_Handle();
}
這樣就發現沒有問題了,各項功能都能實現。爲什麼加上系統之後外部中斷沒有問題而網絡中斷不能進入,需要修改其他方面設置嗎? 我又在官網(stmcu.org)上下載了STM32F107通過以太網實現在程序中編程(IAP) 就 是an3226.進行了簡單的修改能在金牛板子上運行了。首先我將例程修改爲通過 EXTI2_IRQHandler(void)中斷實現TELNET,這樣成功,這說明我對EXTI2_IRQHandler (void)的初始化是成功了。再次基礎之上又做了freertos的移植,但是還是不成功。 在freertos下如何設置中斷才能進如
void ETH_IRQHandler(void),還有什麼方面存 在問題。菜鳥一個問的條理性不太好希望有人幫忙,萬分感激。
答:這個問題發生的遠不能因是你沒有處理好中斷,你還是處理一下吧.注意系統中中斷向量列表處理。

28stm32f107廣域網互聯
問:利用兩塊STM32F107開發板,分別置於兩個不同的地區,如何通過公網建立通信,傳輸語音和其他的一些控制信息 是不是還要用到路由器之類的
答:如果你的距離不超過100米,可以直接用以太網連接,如果超過,就需要走網絡了。如寬帶,GPRS等。

29、關於LWIPfreertos的問題

問:請教大家一個問題,我現在想做lwipfreertos的移植,我在金牛 STM32F107_ETH_LwIP_V1.0.0例程的基礎之上移植了freertos,爲了驗證我的系統移植沒 有問題,首先我通過利用二值信號量的方式,實現了按鍵中斷等簡單程序,在這些都成 功的情況下我把System_Periodic_Handle();做在了一個任務函數中,調用這個任務希
望實現telnet等基本功能,總是失敗,最後我發現是不能進入總是進不去 EXTI2_IRQHandler(void)中斷。
我把中斷這一塊屏蔽了,在任務函數中加入
if (ETH_GetRxPktSize()!=0)
{
LwIP_Pkt_Handle();
}
這樣就發現沒有問題了,各項功能都能實現。爲什麼加上系統之後外部中斷沒有問題而 網絡中斷不能進入,需要修改其他方面設置嗎? 我又在官網(stmcu.org)上下載了STM32F107通過以太網實現在程序中編程(IAP) 就 是an3226.進行了簡單的修改能在金牛板子上運行了。首先我將例程修改爲通過 EXTI2_IRQHandler(void)中斷實現TELNET,這樣成功,這說明我對EXTI2_IRQHandler (void)的初始化是成功了。再次基礎之上又做了freertos的移植,但是還是不成功。 在freertos下如何設置中斷才能進如voidETH_IRQHandler(void),還有什麼方面存 在問題。菜鳥一個問的條理性不太好希望有人幫忙,萬分感激~~~
答:這個問題發生的遠不能因是你沒有處理好中斷,你還是處理一下吧.注意系統中中斷向量列表處理.

30keil環境下,如何將函數定義到指定的FLASH地址

問:keil環境下,如何將函數定義到指定的FLASH地址?定義常量變量到指定地址我知道可以通過__attribute__((at(addr))),但是函數的定義不會啊!
答:#program ROM 類似的語句,詳情你可以參考幫助

31STM32103 USART1死機

問:
void USART_Receive(USART_TypeDef* USARTx)
{
if (USART_GetFlagStatus(USARTx,USART_FLAG_RXNE)==SET)
{       
USART_ClearFlag(USARTx,USART_FLAG_RXNE);
s[0]=USART_ReceiveData(USART1);
delay(1000);       
s[1]=USART_ReceiveData(USART1);
delay(1000);
s[2]=USART_ReceiveData(USART1);
delay(1000);
write_char(s[0],s[1],s[2]); //發送數據到PC

//if(s[0]==0xff){GPIO_WriteBit(GPIOE,GPIO_Pin_0,Bit_SET);}         // //write_char(s[0],s[1],s[2]);
//        query_uart_command();        //命令判斷
}       
}
上面程序在
發送FF的時候收到FF FF FF
發送FF 22的時候收到FF 22 22
發送FF 22 33時收到FF 22 22
之後再發送數據時串口不響應!!!
最佳答案:
stm32串口有個可以說是bug的地方,就是即使不使能溢出等其他錯誤中斷的情況下,若發生溢出錯誤,仍會進入中斷,而且常規檢查中斷的方法無法查到中斷標誌。所以辦法就是在串口正常中斷處理之後加清除中斷的語句。具體網上可以找到。之前因爲這個原因,程序經常死掉,結果是死在串口中斷處理裏,不停中斷,有沒有清除中斷標誌哦。

32、關於STM32讀取陀螺儀的是電壓值,怎麼經過積分變成角度的問題
問:請問下,STM32讀取陀螺儀的是電壓值,怎麼經過積分變成角度?而且積分函數怎麼寫呢?

答:陀螺儀有個參數a,叫做靈敏度,單位是(°/s/V),有個參數b,叫靜止電壓,單位是(V).
你寫的程序有個參數叫做採樣率c,單位是(S/s),有一個叫做ADC基準d,單位(V),有一個叫做ADC分辨率e,沒有量綱,還有一個ADC輸入值f.
知道什麼叫做積分,什麼叫做微分嗎?能夠不背概念,按照自己的理解說一遍嗎假設,每次採樣的u分別爲u1,u2,u3,...u1000,
v=u1+u2+u3+...+u1000,v就是從u1u1000的採樣時間內角度的偏差就是從採u1到採u1000期間,陀螺儀轉過的。

33STM32F107可以和TI的無線接發模塊CC2520配合使用嗎?

問:STM32F107可以和TI的無線接發模塊CC2520配合使用嗎?如果可以,可以怎麼實現呢?煩請各位大俠多多賜教!小弟剛剛接觸這方面的內容。再次拜謝!
答:無線接發模塊CC2520是什麼接口,i2c,UART,SPI?主要是看接口支不支持。。

34、關於STM32自帶的bootloader的功能
問:STM32F107memory mapping地址0x00000000-0x0003FFFF中存放的是什麼?如果是歷程,則主要是做什麼功能,這段程序能不能被讀出?
答:在系統復位後,SYSCLK的第4個上升沿,BOOT引腳的值將被鎖存。用戶可以通過設置BOOT1BOOT0引腳的狀態,來選擇在復位後的啓動模式。 在從待機模式退出時,BOOT引腳的值將被被重新鎖存;因此,在待機模式下BOOT引腳應保持爲需要的啓動配置。在啓動延遲之後,CPU從地址0x0000 0000獲取堆棧頂的地址,並從啓動存儲器的0x0000 0004指示的地址開始執行代碼。這段代碼被固定在MCU內,不能通過外部來修改。
35、關於STM32的代碼加密問題

問:產品選用STM32F103,目前電路設計僅留了20pinJTAG口。請問一下該如何加密。據說如果採用JLINKsecure選項加密,JLINK以後是無法識別和擦除的,請問一下該如何加密。目前串口、RSTBOOT腳單板上沒有預留。謝謝。
答:Jlink加密以後,將不能讀取FLASH中的內容,但是可以通過JFlashARM先將FLASH擦除掉,再進行新的程序燒寫。

36VDDVSS的去藕電容如何處理?

問:VDDVSS的去藕電容如何處理?
答:1、每對VDDVSS都必須在儘可能靠近芯片處分別放置一個10nF~100nF的高頻瓷介電容 2、在靠近VDD3VSS3的地方放置一個4.7μF~10μF的鉭電容或瓷介電容

37stm32f107 每次ping通要重上電

問:您好,請教一下,107的芯片,phylan8700,仿照STM32F107_LK做的硬件,官方例程,mii模式,但是下載之後每次需要重新插拔電源才行,按下rst鍵或者下載都無法ping通,看了一下,phy初始化已經完成,不知道是哪裏有問題,謝謝給分析下
答:應該是你發送完畢數據以後,沒有結束。你仿真一下,PING完以後,下一次ping的時候,程序運行的狀況。
至少你沒有加PHYreset,要不不會每次reset都無法ping

38、仿真問題

問:keil4 STM32仿真裏面怎樣給USART1送入數據?
答:軟件仿真的話,可以監視到USART1接收的數據。但要是給USART1送入數據的時候我一般用JLINK硬件仿真,加上電腦的串口助手發送。仿真中可以在USART1中設置斷點查看數據是否發送成功(中斷接收的時候)


39、關於STM32 寄存器變量

問:STM32 寄存器變量 #define __IO volatile __IO uint32_t USART_Rx_Done = 0; USART_Rx_Done = 1;
怎樣知道這個寄存器變量的地址,它是一個標誌位 應該是有地址的 爲什麼在KEil中看不到
答:都在標準庫裏,你只能編譯後,工程裏包含的庫文件才會出來,然後你選中寄存器變量,點右鍵,然後選擇裏面一個“涉及此參數”的選擇。就可以找到地址了。

40、程序問題

問:SET == USART_GetFlagStatus(USART1, USART_FLAG_RXNE)  這句話是什麼意思
答:當接收引腳有數據時,狀態寄存器的USART_FLAG_RXNE就會爲1,此時USART_GetFlagStatus(USART1, USART_FLAG_RXNE)的返回值就爲1SET,若無數據則爲RESET,本語句一般用於while(SET == USART_GetFlagStatus(USART1, USART_FLAG_RXNE)),if語句作爲檢測或判斷條件

41STM32重映射

問:爲了使不同器件封裝的外設I/O 功能的數量達到最優,可以把一些複用功能重新映射到其他一些腳上。這裏的映射到其他腳上的意義是不是,假設GPIOAPA1的複用功能是ADC1,那麼是不是可以通過改變映射地址,將其映射到GPIOBPB1上。
答:重映射的作用簡單的說就是把管腳的外設功能映射到另一個管腳,但是不是可以隨便映射的,具體對應關係參考手冊上的管腳說明。比如USART2_TX默認在PA2管腳,當啓用複用功能後就會將PD5管腳作爲USART2_TX。另外也不是所有的管腳功能都能重映射,比如ADC1_IN0就只能在PA0

42STM32F417ZG批產燒程序

問:請問如何批量燒程序,源代碼是不能給工人的,只能是編譯好的二進制機器碼。用的是正版的iar jlinkV8,找了幾天沒找到能夠直接下載二進制的功能。uart串口方式燒寫太麻煩了,而且產品不用串口。
答:可以,安裝jlink的時候有一個J-Flash ARM的程序,這個可以直接燒寫bin文件

技術諮詢:老師 13687358291  QQ 3054605532


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章