日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]學(xué)習(xí)STM32一段時(shí)間,調(diào)試程序是總是有各種問(wèn)題,特在此開(kāi)博,以記錄遇到的各種問(wèn)題及解決辦法。1、現(xiàn)象:程序編譯成功,仿真時(shí)不能全速運(yùn)行,command 窗口顯示:Load "E:\\\\ARM\\\\Program\\\\Sample2\\\\Putout\\\\Sample.AX

學(xué)習(xí)STM32一段時(shí)間,調(diào)試程序是總是有各種問(wèn)題,特在此開(kāi)博,以記錄遇到的各種問(wèn)題及解決辦法。

1、現(xiàn)象:程序編譯成功,仿真時(shí)不能全速運(yùn)行,command 窗口顯示:

Load "E:\ARM\Program\Sample2\Putout\Sample.AXF"
LA (PORTC & 0x80) >> 7
*** error 65: access violation at 0x1FFFF7E8 : no 'read' permission
*** error 65: access violation at 0x1FFFF7EC : no 'read' permission
*** error 65: access violation at 0x1FFFF7F0 : no 'read' permission

問(wèn)題:指定的內(nèi)存空間不能讀寫(xiě)

解決辦法:對(duì)內(nèi)存讀寫(xiě)的程序只能在板子上運(yùn)行,不能再仿真時(shí)運(yùn)行,不然就會(huì)出現(xiàn)上面的錯(cuò)誤。

2、現(xiàn)象:編寫(xiě)了兩個(gè)中斷:Systick_Handler()產(chǎn)生毫秒中斷,EXTI0_Handler()產(chǎn)生外部中斷,其中外部中斷中有用到延時(shí)函數(shù)。

問(wèn)題:進(jìn)入外部中斷函數(shù)后,不能進(jìn)入中斷延時(shí)函數(shù)

解決辦法:Systick中斷的優(yōu)先級(jí)最低,所以在進(jìn)入一個(gè)比它高的外部中斷后不能嵌套進(jìn)入Systick中斷,即延時(shí)函數(shù)無(wú)法完成延時(shí),要想延時(shí)只能用自己編寫(xiě)的延時(shí)函數(shù)。

注:在中斷中不推薦使用延時(shí)函數(shù),因?yàn)橹袛嗟脑瓌t就是快進(jìn)快出。

3、現(xiàn)象:編譯時(shí)出現(xiàn)錯(cuò)誤:.PutoutAWM.axf: Error: L6200E: SymbolDelay_Timemultiply defined (by stm32f10x_it.o and main.o).

問(wèn)題: AWM出局。axf:錯(cuò)誤:L6200E:象征Delay_Time多重定義(通過(guò)stm32f10x_it。o和main.o)。

解決辦法:上述錯(cuò)誤原因是把變量 Delay_Time 定義到了頭文件中,而頭文件又被多次調(diào)用導(dǎo)致重復(fù)調(diào)用的結(jié)果,只要把變量放到.c文件中即可。

4、現(xiàn)象:編譯時(shí)出現(xiàn)錯(cuò)誤:Usermain.c(193): error:#268: declaration may not appear after executable statement in block

問(wèn)題:用戶 c(193):錯(cuò)誤:# 268:聲明不能出現(xiàn)在可執(zhí)行語(yǔ)句塊后面

解決辦法:將聲明語(yǔ)句放置一個(gè)函數(shù)的開(kāi)頭。例如:NVIC_InitTypeDefNVIC_InitStructure;

5、現(xiàn)象:編譯時(shí)出現(xiàn)錯(cuò)誤:Usermain.c(458): warning: #223-D: function "Time_Ini" declared implicitly

問(wèn)題:提示函數(shù) Time_Ini() 聲明為隱性函數(shù)

解決辦法:最后發(fā)現(xiàn)聲明的函數(shù)為 Tim_Ini() ,而引用時(shí)錯(cuò)誤的寫(xiě)成了 Time_Ini()。

6、現(xiàn)象:編譯通過(guò),運(yùn)行時(shí)進(jìn)入不了中斷

問(wèn)題:中斷函數(shù)名是這樣定義:EXTI1_Handler();

解決方法:最后在啟動(dòng)文件中發(fā)現(xiàn)中斷函數(shù)定義錯(cuò)誤,應(yīng)該是EXTI1_IRQHandler();其中,系統(tǒng)定時(shí)中斷函數(shù)名應(yīng)該為:SysTick_Handler()。

7、現(xiàn)象:通過(guò)調(diào)用系統(tǒng)定時(shí)函數(shù) while(SysTick_Config(SystemCoreClock/72000000)) ;使其產(chǎn)生1s中斷。

問(wèn)題:運(yùn)行時(shí),通過(guò)標(biāo)記變量發(fā)現(xiàn)程序無(wú)法進(jìn)入系統(tǒng)中斷SysTick_Handler()

解決方法:在系統(tǒng)頻率為72MHz時(shí),SystemCoreClock/72000000= 1,相當(dāng)于每一個(gè)時(shí)鐘周期就要進(jìn)入中斷一次,實(shí)際上是不可能的,所以無(wú)法進(jìn)入中斷。將值改成SystemCoreClock/72000后即可進(jìn)入中斷。

再問(wèn):目的想產(chǎn)生1s中斷,按照現(xiàn)在的想法應(yīng)該是產(chǎn)生1ms的中斷,但在運(yùn)行中發(fā)現(xiàn)產(chǎn)生的中斷要比ms短得多,不能得到正確的延時(shí)。

最終解決:其實(shí),SystemCoreClock/72000的值是賦給系統(tǒng)定時(shí)寄存器的值,所以要產(chǎn)生1ms的中斷應(yīng)該寫(xiě)成SystemCoreClock/1000,要產(chǎn)生1s的定時(shí)中斷應(yīng)該賦值SystemCoreClock/1000000 。

8、現(xiàn)象:編寫(xiě)了ADC轉(zhuǎn)換后的數(shù)據(jù)通過(guò)DMA傳輸,經(jīng)過(guò)USART串口輸出數(shù)據(jù)的程序。仿真時(shí),程序一運(yùn)行就停在了啟動(dòng)文件里面中斷函數(shù)名處。

問(wèn)題:中斷也打開(kāi)了,中斷函數(shù)名也沒(méi)有問(wèn)題,資源打開(kāi)正常,就是仿真是不能通過(guò)總是停留在 B. 處。

解決方法:經(jīng)過(guò)分析,問(wèn)題出在了開(kāi)中斷的配置上。因?yàn)樾酒桥f芯片,所以使用中斷時(shí)應(yīng)當(dāng)從新定位中斷函數(shù)入口地址:NVIC_SetVectorTable()。

9、現(xiàn)象:調(diào)試文件系統(tǒng)程序時(shí),程序編譯沒(méi)有錯(cuò),仿真時(shí)程序總是跑飛到硬件中斷。

問(wèn)題:仿真總是過(guò)不去,頻繁跑飛

解決方法:初始化文件系統(tǒng)時(shí),前面忘記調(diào)用設(shè)備選擇函數(shù),導(dǎo)致一些參數(shù)未能及時(shí)存儲(chǔ)變量的值,致使程序跑飛,加入設(shè)備選擇函數(shù)后,該現(xiàn)象解決。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉