辽宁快乐12遗漏预测

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5205|回復: 0
打印 上一主題 下一主題

辽宁快乐12预测推荐号码推荐: STM32常見問題FAQ匯總

[復制鏈接]

辽宁快乐12遗漏预测 www.kqsbiw.com.cn 624

主題

627

帖子

416

積分

專欄作家

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

積分
416
跳轉到指定樓層
1#
發表于 2015-4-15 17:12:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
STM32關于USART的問題
1、STM32103 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
之后再發送數據時串口不響應?。?!
答1:你這個程序,你收到第一個字節后,清標志,然后等待接后后面兩個沒有清標志。這也和兩次發送時間 間隔有關
答2:stm32串口有個可以說是bug的地方,就是即使不使能溢出等其他錯誤中斷的情況下,若發生溢出錯誤,仍會進入中斷,而且常規檢查中斷的方法無法查到中斷標志。所以辦法就是在串口正常中斷處理之后加清除中斷的語句。具體網上可以找到。之前因為這個原因,程序經常死掉,結果是死在串口中斷處理里,不停中斷,有沒有清除中斷標志哦。

2、STM32F207的串口問題
問:使用官方提供的串口例程時,定義串口2~5都沒有問題。使用串口1或串口6時,無數據輸出。TXD線上只是低電平。求解。。。。
附上代碼。
串口2~5,先提供官方例程
按照例程,將串口3改為串口1后,串口1不能工作,TXD線上是低電平,
仿真時發現,程序停留在
while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TXE) == RESET)
{
}
這個地方。
串口1的引腳定義是PA.09,PA.10
答1:RCC_APB2PeriphClockCmd(RCC_APB2Periph_USARTx, ENABLE) for USART1 and USART6 * RCC_APB1PeriphClockCmd(RCC_APB1Periph_USARTx, ENABLE) for USART2, USART3, UART4 or UART5. *

3、stm32中的串口通信中的USART_WordLength,數據位的長度包不包括開始位哪些?
問:stm32中的串口通信中的USART_WordLength,數據位的長度包不包括開始位哪些?
答:不包括開始位,如果你有 校驗(奇 偶)的話,數據位是包括校驗位的。USART_WordLength 這個是可以設 9

4、stm32的DMA 到usart
問:把一個數組的數據傳輸到USART。設為Circular時,DMA是不是會自動不停的傳輸數據?既是main函數里沒有調用傳輸,DMA也會不停把數組的數據傳給USART?不受main控制?DMA數據傳輸還是受CPU的控制的?需要認為的調用?
答:設置成循環的只是說當數據傳輸量寄存器里面的內容變為零會重新加載,然后重新傳輸,但是這一切前提都是進行了設置和使能(這里應該是DMA請求,我還沒看出來別的使能方式,正在學習呵呵),但是記住只有再怎么寫好設置的子函數或者說???,如果沒有main里調用,不會運行的,因為單片機只執行MAIN里的函數,如果沒有調用語句,是不會自己跑到DMA設置子函數里的,也就是說不會不斷執行。人為調用,設置一下各個寄存器,有傳輸的來源和目的設置有傳輸數據量設置等等,設置完了,開啟就可以了,CPU可以去干別的,看一下參考手冊就知道了。

5、STM32串口接收程序
問:在STM32串口接收程序里 USART_GetFlagStatus(USART1,USART_FLAG_ORE)==RESET 這句語句是什么意思?
答:查尋串口標志,為0還是1,reset 為0,set 為1,還有清除標志位的作用

6、STM32F10XX系列SPI和USART區別
問:STM32F10XX系列SPI和USART區別?我想用USATR對SD卡進行讀寫是否可行?我用USART的同步方式跟SPI是一樣的嗎?我用的STM32中的USART可以接SPI設備,它是一個同步/異步收發器。我在看開發板時看到有開發板是用SPI對SD卡進行操作的。應該是用的SD卡的MMC/SPI模式。只是沒有見到用它的USART讀寫SD卡的例子,不知道哪有這方面的資料。
答:請先SPI和USART都沒有搞清楚,再搞用USATR對SD卡進行讀寫,我不知道你的sd卡是哪個型號,但是一般的存貯器件不會采用uart口的,SD卡是用來存儲大容量數據的,讀寫數據在速度在要求快,而uart口的速度一般不會很快,你看看你的串口調試助手就知道了,上面有波特率,所以sd卡不會用uart口來讀寫的,再說了,用什么口來讀寫sd卡都是一樣的,你只要按照datasheet 的命令格式給卡發送命令就可以操作它了,建議不要糾結這個問題!

關于STM32的中斷問題
1、STM32的EXIT的庫函數
問:EXTI_GetFlagStatus和EXTI_GetITStatus區別是什么?
答:一個是獲取狀態也的,一個是獲取中斷的。你可以看一下函數上面的說明。

2、STM32的外部中斷
問:STM32的外部中斷響應的最大頻率是多少?
答:應該是2-3個機器周期

3、判斷中斷是否會被響應的依據是什么?
答:1、首先是占先式優先級,其次是副優先級; 2、占先式優先級決定是否會有中斷嵌套; 3、Reset、NMI、Hard Fault 優先級為負(高于普通中斷優先級)且不可調整。

4、什么是占先式優先級?
答:占先式優先級(pre-emption priority): 高占先式優先級的中斷事件會打斷當前的主程序/中斷程序運行——搶斷式優先響應,俗稱中斷嵌套。

5、什么是副優先級?
答:副優先級(subpriority):1、在占先式優先級相同的情況下,高副優先級的中斷優先被響應; 2、在占先式優先級相同的情況下,如果有低副優先級中斷正在執行,高副優先級的中斷要等待已被響應的低副優先級中斷執行結束后才能得到響應——非搶斷式響應(不能嵌套)。

6、中斷不進入是什么原因?
答:1、未開啟接收中斷; 2、未配置中斷向量開啟

7、 STM32的EXIT的庫函數
問:EXTI_GetFlagStatus和EXTI_GetITStatus區別是什么?
答:一個是獲取狀態也的,一個是獲取中斷的。你可以看一下函數上面的說明。

8、STM32的外部中斷
問:STM32的外部中斷響應的最大頻率是多少?
答:應該是2-3個機器周期

9、STM32的EXIT的庫函數問題
問:EXTI_GetFlagStatus和EXTI_GetITStatus區別是什么?
答:一個是獲取狀態也的,一個是獲取中斷的。你可以看一下函數上面的說明。

關于STM32的SPI問題
1、STM32F207 使用SPI2收不到數據的問題
問:我使用STM32F207的SPI2控制模數轉換器AD977時, STM32F207處理器的SPI2工作在單向只接收模式(從模式)下,我的SPI2總是接收不到數據(但在SPI2_MOSI管腳上有數據,時鐘也有,我用示波器看的),請幫我分析一下。我的SPI及管腳配置如下:
  1. void SPI2_Config(void)
  2. {

  3. //NVIC_InitTypeDef NVIC_InitStructure;

  4. /* Enable the SPI clock */
  5. RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);

  6. /* Enable GPIO clocks */
  7. RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);

  8. /* Connect SPI pins to AF5 */

  9. //GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_SPI2);
  10. //GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_SPI2);


  11. //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  12. //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  13. //GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  14. //GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;

  15. /* SPI SCK pin configuration */
  16. //GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13;
  17. //GPIO_Init(GPIOB, &GPIO_InitStructure);

  18. /* SPI MOSI pin configuration */
  19. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
  20. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  21. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  22. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  23. //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  24. GPIO_Init(GPIOB, &GPIO_InitStructure);

  25. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
  26. //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  27. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  28. //GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  29. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  30. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  31. GPIO_Init(GPIOB, &GPIO_InitStructure);

  32. /* SPI configuration -------------------------------------------------------*/
  33. SPI_I2S_DeInit(SPI2);
  34. SPI_Cmd(SPI2, DISABLE);
  35. SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
  36. SPI_InitStructure.SPI_Mode=SPI_Mode_Slave;
  37. SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;
  38. SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
  39. SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
  40. SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
  41. SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
  42. SPI2->CR1=0<<8;
  43. SPI_Init(SPI2, &SPI_InitStructure);
  44. //SPI_TIModeCmd(SPI2, ENABLE);
  45. SPI_Cmd(SPI2,ENABLE);
  46. }
復制代碼

答:GPIO的模式改為GPIO_Mode_AF_PP

2、關于STM32的SPI
問:SPI口,同步串行通信中的“同步”指的是什么?
答:同步,是指在通信過程中,被控制的對象與主機的時鐘是相同的,都是由主機發出。

3、STM32F10X SPI時序 疑惑
問:這兩天學習了STM32F10X系列的SPI???,發現其時序問題,感到非常疑惑:通過CPOL和CPHA兩個位來控制收、發時序;根據時序圖可以看出:發送、接收是在同一個時鐘邊沿采樣!可是我接觸過的所有使用SPI通信的外圍芯片,發送和接受都是在不同的時鐘邊沿采樣,這樣的話,發送、接收肯定有一方采集到的數據存在錯誤的可能。目前正在調試開發板的SPI???,和AT45DB161B通信,目前還沒有成功,請高手指點!
答:SPI通訊的方式有3種、4線、3線、2線型。你使用的是那種情況?
答:4線全雙工
答:你說的情況是不會發生的,這個你可以參考SPI4線的通訊方式。通訊不了,首先排除硬件問題,再次排除程序通訊問題。

4、使用SPI外設時如何設定NSS為通用IO口?
答:主模式和從模式下均可以由軟件或硬件進行NSS管理; 將SPI_CR1寄存器的SSM位置為1時,NSS引腳將被釋放出來用作GPIO口;使用STM32軟件庫時,初始化SPI外設時,使用如下代碼: SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; 如果NSS引腳用于其他外設時,需要使能NSS輸出: SPI_SSOutputCmd(SPIx, ENABLE);

關于STM32的I2C問題
1、I2C上電過程故障,復位后即正常,有可能是什么原因?
問:如題:I2C1總線上掛有一片24C02(Addr:0xA0)和另一個I2C總線器件(Addr:0xAC),上電后配置完畢I2C1(庫操作,100K)后既執行24C02的讀寫,完畢后,執行另一I2C器件的讀寫。
現象1:每次斷電、再重新上電后,程序一直停在24C02的寫過程中,另一片I2C芯片也不響應;
現象2:如果是直接按復位鍵,則程序可以順利執行,并且兩片I2C器件均可正常訪問和讀取。
請問:有可能是什么原因造成這樣的問題,SCK速度100K,示波器顯示SCK為50%占空比。
答:這個問題是,由于上次寫E2的時候導致I2C總線錯誤,而E2這個時候并不能正確的接收數據。解決方法,斷電的時候或者操作完畢以后將I2C總線停止,或者斷電的時候將E2斷電。
答:你的電路啟動的RESET的時間可能不夠。因為你提到按下RESET按鍵之後就都可以正常動作。哪表示你的POWER ON Reset 有問題。

2、STM32的I2S問題
問: 最近有個項目,想用STM32錄播音頻,不知道STM32的I2S接口能不能和CODEC的I2S接口,同時錄音、播放,就是通過CODEC的AD進來的數據同時發送到CODEC的DA輸出。有沒有相關的參考設計?
答: 這個是可以的!我用了wm8974!用兩個i2s口實現!stm32f4是全雙工的!只用一個就行了!

3、STM32的I2S問題
問:最近有個項目,想用STM32錄播音頻,不知道STM32的I2S接口能不能和CODEC的I2S接口,同時錄音、播放,
就是通過CODEC的AD進來的數據同時發送到CODEC的DA輸出。有沒有相關的參考設計?答:這個是可以的!我用了wm8974!用兩個i2s口實現!stm32f4是全雙工的!只用一個就行了!很好用有問題可以[email protected]咨詢

4、I2C上電過程故障,復位后即正常,有可能是什么原因?
問:I2C1總線上掛有一片24C02(Addr:0xA0)和另一個I2C總線器件(Addr:0xAC),上電后配置完畢I2C1(庫操作,100K)后既執行24C02的讀寫,完畢后,執行另一I2C器件的讀寫。
現象1:每次斷電、再重新上電后,程序一直停在24C02的寫過程中,另一片I2C芯片也不響應;
現象2:如果是直接按復位鍵,則程序可以順利執行,并且兩片I2C器件均可正常訪問和讀取。
請問:有可能是什么原因造成這樣的問題,SCK速度100K,示波器顯示SCK為50%占空比。
答:這個問題是,由于上次寫E2的時候導致I2C總線錯誤,而E2這個時候并不能正確的接收數據。解決方法,斷電的時候或者操作完畢以后將I2C總線停止,或者斷電的時候將E2斷電。

5、STM32的I2C奇怪現象
問:如果先把I2C的相關I/O口配置成通用輸入接口,然后在配置成I2C的接口,測試I2C功能正常;但是如果把I/O口先配置成通用輸出接口,再配置成I2C接口,測試I2C功能就不正確。
答:I2C的IO口必須要配置成對應的功能,也就是輸入,這個時候才能工作。這個是I2C??楸匭胍渲玫?,就像串口的IO口,也要配置成對應的傳輸方向。

6、STMF103 I2S 時鐘調整方案
問:通常音頻的采樣速率均為44.1K/S,若有72M的時鐘,同時需要MCLK輸出,這樣根據手冊FS只能為46.875這樣速率精確度太差,誤差達到6.29%,是否可以考慮將時鐘將為56M,這樣可以將FS調整到43.75,誤差為0.8%
答:不知道你用的是16位的還是32位的,根據表的值,你選擇16位的,44117.65這個值的誤差比較小0.04%。 如果選擇22.050K/S,22058.822,16位和32位的誤差是0.04%。

7、I2S使用的注意事項
問:I2S使用時需要注意什么?I2S2_WS,I2S2_CK,I2S2_SD,I2S2_MCK如何設置MCK是不是只支持256FS, 對于無法進行編程的I2S解碼器,如何設置中斷。
最佳答案:
1、小容量和中容量的STM32不支持I2S音頻協議。

2、I2S與SPI共用3個引腳:
SD:串行數據(映射至MOSI引腳),用來發送和接收2路時分復用通道的數據;
WS:字選(映射至NSS引腳),主模式下作為數據控制信號輸出,從模式下作為輸入;
CK:串行時鐘(映射至SCK引腳),主模式下作為時鐘信號輸出,從模式下作為輸入。
MCK:主時鐘(獨立映射),在I2S配置為主模式,寄存器SPI_I2SPR的MCKOE位為’1’時,作為輸出額外的時鐘信號引腳使用。輸出時鐘信號的頻率預先設置為256 × Fs,其中Fs是音頻信號的采樣頻率。

3、I2S接口與SPI接口使用大致相同的引腳、標志和中斷。

關于STM32的PWM問題
1、STM32F10X定時器PWM輸入模式測量頻率、占空比精度問題
問:今天使用了STM32F10X定時器PWM輸入模式,用來測量輸入方波信號的頻率和占空比,發現精度不高,設置定時器的時鐘頻率為36MHz,預分頻為35,計數頻率為1MHz,即精度為1us,當輸入信號為500Hz時,測量值為500Hz,當輸入信號為1KHz時,測量值為1000.1,當輸入信號頻率繼續增加時,測量誤差越大,之后提高定時器的技術頻率為72MHz,精度有提高,但是輸入信號頻率增加,誤差越大,同時對于低頻信號需要使用更新中斷才能處理。
請假各位大俠是如何處理精度和低頻信號測量的問題?
答:能不能看看你的代碼配置?;褂幸⒁釺IM的范圍,可能約接近最大值,誤差可能會有所變化。
答:設置為:PWM輸入模式,計數精度為1us ,沒有考慮溢出的情況,同時也沒有使用低于500Hz的信號做測試,當提高技術精度為100ms甚至更小時,相同頻率下誤差減小,但是誤差還是隨著頻率增加而變大,然后自己看了Datasheet,發現里面有一句這樣的話:TI1的上升沿和計數器實際復位之間的延時,取決于TI1輸入端的重同步電路,也就是說肯定有延時,而且延時不確定,當測量頻率越高時,延時對結果的影響自然越大。另外我使用捕獲功能來測量頻率,考慮溢出,計數精度1us,在100KHz內,基本上沒有誤差。

2、stm32f103 PWM 互補通道 問題
問:stm32PWM 互補通道在禁止輸出時可不可以均默認為高或變為浮空輸入通道 不要在每次發生通道變換時認為的去修改寄存器!
答:函數TIM1_ForcedOC1Config可以,看下固件庫手冊,沒問題的!

3、STM32的DAC輸出脈沖
問:STM32的DAC上電時輸出一個幅值100mV,脈寬5ms的脈沖,影響后面電路的工作,怎么去掉這個脈沖呢?
答:關閉DAC波形輸出

4、PWM input capture
問:在測試PWM input capture時,使用TIM3—CH2通道,則IC1和IC2影射到TI2上,此時CCR2 register捕獲PWM的period,CCR1 register捕獲PWM的duty cycle,IC1和IC2開始捕獲計數。如果這個PWM的周期比較長,IC2計數值超過65535溢出之后會怎么辦?溢出的值是不是舍棄掉了?還能通過CCR1/CCR2這個公式來計算占空比嗎?
答:溢出以后會將產生中斷,如果周期比較長,建議使用計數器來判斷?;蛘囈檔湍?櫧德?。

關于STM32的USB問題
1、stm32f10x usb無法識別
問:我現在用的片子是103t8和開發板的是103vct6的,沒有8M的晶振所以我用了6 M的但是程序里面我已經改了,12倍頻,usb時鐘1.5分頻我沒動,還是開發板的那部分,1.5k的上拉直連3.3,我把開發板控制usben的管教斷開直接接了3.3v上拉也可以識別usb 我做的板子也改了1。5的上拉接3.3v還是不能識別,兩個程序的差別只有外部晶振倍頻系數不同求解
答:解決這個辦法 1、你先用8M晶振試試程序,如果還是不行,就說明當前硬件有問題 2、時鐘配置的時候,分頻晶振、倍頻,然后獲得系統時鐘,建議你檢查一下這段代碼,確定系統時鐘是72M的。

關于STM32的JLINK問題
1、使用JTAG download程序至STM32F205XX(with Cortex-M3)
問:請教各位先進,若欲使用JTAG interface下載程序至STM32F205XX的板子,似乎一般是透過SEGGER的J-link,是否可使用其他的JTAG-USB下載線如Altera出的USB Blaster? 又是否只要符合JTAG規範的傳輸線皆可?
答:只要支持M3并且支持STM32F2XX系列就可以,不一定非要JTAG,也可以使用SWD。

關于STM32其他問題
1、使用JTAG download程序至STM32F205XX(with Cortex-M3)
問:請教各位先進,若欲使用JTAG interface下載程序至STM32F205XX的板子,似乎一般是透過SEGGER的J-link,是否可使用其他的JTAG-USB下載線如Altera出的USB Blaster?
又是否只要符合JTAG規範的傳輸線皆可?
答1:只要支持M3并且支持STM32F2XX系列就可以,不一定非要JTAG,也可以使用SWD。
答2:ARM KEIL ULINK也行,兼容性非常好呀!

2、STM32觸摸屏
問:我想用STM32來觸摸一款觸摸屏,因為我現在還不了解STM32以及觸摸屏,所以我想問一下,具體用那款單片機型號最好? 最好是STM32內部已經具有觸摸屏的控制器了。屏有沒有數據傳輸總線是32位的,正好和單片機總線一樣 。另要求屏的色彩深度也是32位或者是24位。3.2寸左右,這個可大也可小點。 能不能也推薦一款觸摸屏的型號,以及相關資料。
答:1、這個需要根據顯示屏來決定,市場上也有很多觸摸的顯示屏,STM32可以用過SPI、FMCS、IO口等來控制,這個要看你選擇的類型 2、型號和資料,這個要找廠家要,廠家一半都會給你合適的建議和 源代碼。

3、STM32可以做什么
問:學習了STM32可以做什么?有什么用途或者前途,請告訴,不勝感謝。
答:可以用的方面比較多,比如工業、消費、醫療等。這個要根據產品的需求來決定使用的芯片。

4、STM32F2X系列能能驅動多大尺寸TFTLCD呢?用FSMC模式
問:STM32F2X系列能能驅動多大尺寸TFTLCD呢?用FSMC模式,顯示簡單的菜單,參數等操作
答:這個沒有具體的參數,個人認為10.0一下都沒問題。

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

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

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

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

9、STM32103RB的TIM2 channel1以及UART2的CTS都是PA0 pin, 他們是怎么區分的?
答:IC的一根管腳,做多種外設的復用pin,很常見,在PA0上,只能作為一種外設的管腳,但兩個外設能同時用嗎,當然是可以的??梢隕柚肧TM32中有的寄存器AFIO_MAPR來配置復用管腳及外設接口的重新映射,比如你選擇PA0為UART2的CTS,PA0肯定不能再作為TIM2的channel1,但可以設置TIM2的channel1的管腳為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:這個沒有計算過,你可以在計算前加個定時器獲取值,計算完以后再獲取一下定時器的值,這樣就知道時間了。

11、STM32F4系列軟件仿真問題
問:STM32F4系列能用Keil4.54,的debug進行軟件仿真嗎? 我一仿真,程序指針跳到0x00000000處。很奇怪,而且peripherals菜單選項沒有了。 請問這是怎么回事?
答:可以。說明你程序有錯誤,而不能跳到啟動。你應該下載一個最新的KEIL

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

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

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

15、F0 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能夠繼續運行,并進行相應的?;げ僮?。

17、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
};  
最佳答案:更簡單的可以設置兩個斷點,看下右下方的運行時間,就知道了!

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

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

20、stm32F207的相關資料從何處下載?
問:stm32F207的相關資料從何處下載?比如說,庫函數,應用說明,時鐘等等。最近做項目要使用stm32F207,但對這款芯片了解甚少。
答:您好,這個可以到社區的資料下載?;蛘叩焦俜酵鏡腇20X資料區下載。

21、STM32的官方例程在哪下載呢?
問:STM32的官方例程在哪下載呢?
答:你好,社區的資料下載欄目,以及論壇里都可以找到。

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

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

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

25、請問STM32W108CBU64可以構成星型網絡嗎?
問:可以組成多少個子節點?
最佳答案:一個局域網可以有很多電腦,只要IP地址不一樣就可以

26、請問各位大蝦STM32F207的Camera接口支持ITU-R BT.656格式的數據輸入嗎?
問:本人想通過TVP5150將復合視頻信號轉為ITU-R BT.565后,經STM32F207的Camera接口送到LCD顯示,不知道是否能實現,請各位指教。
答:可以,但是效果不是很好。畢竟頻率才72Mhz。

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

28、關于LWIP和freertos的問題
問:請教大家一個問題,我現在想做lwip和freertos的移植,我在金牛 STM32F107_ETH_LwIP_V1.0.0例程的基礎之上移植了freertos,為了驗證我的系統移植沒 有問題,首先我通過利用二值信號量的方式,實現了按鍵中斷等簡單程序,在這些都成 功的情況下我把System_Periodic_Handle();做在了一個任務函數中,調用這個任務希望實現telnet等基本功能,總是失敗,最后我發現是不能進入總是進不去 EXTI2_IRQHandler(void)中斷。我把中斷這一塊屏蔽了,在任務函數中加入
  1. if (ETH_GetRxPktSize()!=0)
  2. {
  3. LwIP_Pkt_Handle();
  4. }
復制代碼

這樣就發現沒有問題了,各項功能都能實現。為什么加上系統之后外部中斷沒有問題而 網絡中斷不能進入,需要修改其他方面設置嗎? 我又在官網下載了STM32F107通過以太網實現在程序中編程(IAP) 就 是an3226.進行了簡單的修改能在金牛板子上運行了。首先我將例程修改為通過 EXTI2_IRQHandler(void)中斷實現TELNET,這樣成功,這說明我對EXTI2_IRQHandler (void)的初始化是成功了。再次基礎之上又做了freertos的移植,但是還是不成功。 在freertos下如何設置中斷才能進如voidETH_IRQHandler(void),還有什么方面存 在問題。菜鳥一個問的條理性不太好希望有人幫忙,萬分感激~~~
答:這個問題發生的遠不能因是你沒有處理好中斷,你還是處理一下吧.注意系統中中斷向量列表處理.

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

30、STM32103 USART1死機
問:
  1. void USART_Receive(USART_TypeDef* USARTx)
  2. {
  3. if (USART_GetFlagStatus(USARTx,USART_FLAG_RXNE)==SET)
  4. {        
  5. USART_ClearFlag(USARTx,USART_FLAG_RXNE);
  6. s[0]=USART_ReceiveData(USART1);
  7. delay(1000);        
  8. s[1]=USART_ReceiveData(USART1);
  9. delay(1000);
  10. s[2]=USART_ReceiveData(USART1);
  11. delay(1000);
  12. write_char(s[0],s[1],s[2]); //發送數據到PC

  13. //if(s[0]==0xff){GPIO_WriteBit(GPIOE,GPIO_Pin_0,Bit_SET);}         // //write_char(s[0],s[1],s[2]);
  14. //        query_uart_command();        //命令判斷
  15. }        
  16. }
復制代碼

上面程序在
發送FF的時候收到FF FF FF
發送FF 22的時候收到FF 22 22
發送FF 22 33時收到FF 22 22
之后再發送數據時串口不響應?。?!
最佳答案:
stm32串口有個可以說是bug的地方,就是即使不使能溢出等其他錯誤中斷的情況下,若發生溢出錯誤,仍會進入中斷,而且常規檢查中斷的方法無法查到中斷標志。所以辦法就是在串口正常中斷處理之后加清除中斷的語句。具體網上可以找到。之前因為這個原因,程序經常死掉,結果是死在串口中斷處理里,不停中斷,有沒有清除中斷標志哦。

31、關于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就是從u1到u1000的采樣時間內角度的偏差. 就是從采u1到采u1000期間,陀螺儀轉過的。

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

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

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

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

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

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

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

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

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

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

本版積分規則

手機版|辽宁快乐12遗漏预测 ( 鄂ICP備09003585號-2 )

GMT+8, 2019-11-17 05:41 , Processed in 0.052369 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2018 Comsenz Inc.

快速回復 辽宁快乐12遗漏预测 返回列表