找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1557|回復(fù): 0
收起左側(cè)

關(guān)于STM32F103C8T6單片機(jī)ADC測量數(shù)據(jù)問題

[復(fù)制鏈接]
ID:73992 發(fā)表于 2023-6-20 22:27 | 顯示全部樓層 |閱讀模式
芯片為stm32f103c8t6
程序用GPI0_B0作為ADC1輸入口,用規(guī)則通道轉(zhuǎn)換數(shù)據(jù)。通過設(shè)置ADON位觸發(fā)ADC轉(zhuǎn)換。 無標(biāo)題.png 無標(biāo)題2.png 無標(biāo)題4.png 無標(biāo)題1.png
問題1:PB0引腳固定接在通道8,ADC1,2可以經(jīng)過通道8測量數(shù)據(jù)。這樣理解對不對


問題2:上圖寄存器中的SWSTART位 與 ADON位的功能有點分不清楚
問題3:程序聯(lián)機(jī)調(diào)試的時候,PB0無論接0伏還是3.3伏。ADC1數(shù)據(jù)寄存器DR總是在0000到大概3FFF之間跑。以下是程
*************STM32F103C8T6*****************

GPIOC        EQU        0X40011000                  ;GPIO端口C基地址
RCC_CFGR        EQU                0X40021004        
RCC_APB2ENR        EQU        0X40021018
GPIOB        EQU        0X40010C00                  ;GPIO端口B 基地址
ADC_1        EQU        0X40012400                  ;ADC1 基地址
AFIO        EQU        0X40010000                        ;AFIO基地址
        AREA        ICODE,CODE
        ENTRY
        EXPORT        __main
__main                                             ;主程序
        BL        SET_BIOS
LOOP
        BL        DELAY

        LDR        R0,=ADC_1                                ;開始轉(zhuǎn)換規(guī)則通道,S數(shù)據(jù)右對齊
        LDR        R1,=0X000E0801
        STR        R1,[R0,#8]
        
        BL        DELAY
        B        LOOP
        
SET_BIOS
        PUSH        {R0,R1,LR}
        LDR        R0,=RCC_APB2ENR                        ;使能ADC_1,GPIO_B,GPIO_C,AFIO
        LDR        R1,=0X0000021D
        STR        R1,[R0]
        
        LDR        R0,=RCC_CFGR                        ;ADC時鐘分頻
        LDR        R1,=0XC000
        STR        R1,[R0]
        
        LDR        R0,=GPIOB                                ;設(shè)置gpio b為模擬輸入
        LDR        R1,=0X00
        STR        R1,[R0]                                
        
        LDR        R0,=GPIOC                                ;設(shè)置gpio c13為輸出 (指示燈)
        LDR        R1,=0X00300000
        STR        R1,[R0,#0X4]
        LDR        R1,=0XFFFFFFFF                   ;打開 GPIO 13 LED      
        STR        R1,[R0,#0X0C]
        
        LDR        R0,=AFIO                                ;設(shè)ADC1外部觸發(fā)規(guī)則轉(zhuǎn)換與TIM8_TRGO相連
        LDR        R1,=0X70000
        STR        R1,[R0,#4]               
        
        LDR        R0,=ADC_1                                ;數(shù)據(jù)右對齊 并且校準(zhǔn)
        LDR        R1,=0X000E0804
        STR        R1,[R0,#8]        
        
        LDR        R0,=ADC_1                ;通道8轉(zhuǎn)換時間寄存器               
        LDR        R1,=0X07000000
        STR        R1,[R0,#10]
        
        LDR        R0,=ADC_1
        LDR        R1,=0X08                                ;規(guī)則通道 通道8第一個轉(zhuǎn)換
        STR        R1,[R0,#34]
        
        LDR        R0,=ADC_1                                ;數(shù)據(jù)右對齊 并且校準(zhǔn)
        LDR        R1,=0X000E0804
        LDR        R1,[R0,#8]
        
        POP        {R0,R1,LR}
        BX        LR
        
DELAY
        PUSH        {R5,LR}
        LDR        R5,=0X00005003
DELAY1
        SUB        R5,#0X00000001
        CMP        R5,#0X00000000
        BNE        DELAY1
        POP        {R5,LR}
        BX        LR

        ALIGN ;ALIGN四字節(jié)對齊
        
        
        END


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表