亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stm32f10x_adc.txt

?? STM32手持式示波器源代碼
?? TXT
?? 第 1 頁 / 共 4 頁
字號:
;;;594      assert_param(IS_ADC_CHANNEL(ADC_Channel));
;;;595      assert_param(IS_ADC_REGULAR_RANK(Rank));
;;;596      assert_param(IS_ADC_SAMPLE_TIME(ADC_SampleTime));
;;;597      /* if ADC_Channel_10 ... ADC_Channel_17 is selected */
;;;598      if (ADC_Channel > ADC_Channel_9)
000006  2909              CMP      r1,#9
000008  dd11              BLE      |L29.46|
;;;599      {
;;;600        /* Get the old register value */
;;;601        tmpreg1 = ADCx->SMPR1;
00000a  68c4              LDR      r4,[r0,#0xc]
;;;602        /* Calculate the mask to clear */
;;;603        tmpreg2 = SMPR1_SMP_Set << (3 * (ADC_Channel - 10));
00000c  f1a1060a          SUB      r6,r1,#0xa
000010  eb060746          ADD      r7,r6,r6,LSL #1
000014  2607              MOVS     r6,#7
000016  fa06f507          LSL      r5,r6,r7
;;;604        /* Clear the old channel sample time */
;;;605        tmpreg1 &= ~tmpreg2;
00001a  43ac              BICS     r4,r4,r5
;;;606        /* Calculate the mask to set */
;;;607        tmpreg2 = (uint32_t)ADC_SampleTime << (3 * (ADC_Channel - 10));
00001c  f1a1060a          SUB      r6,r1,#0xa
000020  eb060646          ADD      r6,r6,r6,LSL #1
000024  fa03f506          LSL      r5,r3,r6
;;;608        /* Set the new channel sample time */
;;;609        tmpreg1 |= tmpreg2;
000028  432c              ORRS     r4,r4,r5
;;;610        /* Store the new register value */
;;;611        ADCx->SMPR1 = tmpreg1;
00002a  60c4              STR      r4,[r0,#0xc]
00002c  e00c              B        |L29.72|
                  |L29.46|
;;;612      }
;;;613      else /* ADC_Channel include in ADC_Channel_[0..9] */
;;;614      {
;;;615        /* Get the old register value */
;;;616        tmpreg1 = ADCx->SMPR2;
00002e  6904              LDR      r4,[r0,#0x10]
;;;617        /* Calculate the mask to clear */
;;;618        tmpreg2 = SMPR2_SMP_Set << (3 * ADC_Channel);
000030  eb010741          ADD      r7,r1,r1,LSL #1
000034  2607              MOVS     r6,#7
000036  fa06f507          LSL      r5,r6,r7
;;;619        /* Clear the old channel sample time */
;;;620        tmpreg1 &= ~tmpreg2;
00003a  43ac              BICS     r4,r4,r5
;;;621        /* Calculate the mask to set */
;;;622        tmpreg2 = (uint32_t)ADC_SampleTime << (3 * ADC_Channel);
00003c  eb010641          ADD      r6,r1,r1,LSL #1
000040  fa03f506          LSL      r5,r3,r6
;;;623        /* Set the new channel sample time */
;;;624        tmpreg1 |= tmpreg2;
000044  432c              ORRS     r4,r4,r5
;;;625        /* Store the new register value */
;;;626        ADCx->SMPR2 = tmpreg1;
000046  6104              STR      r4,[r0,#0x10]
                  |L29.72|
;;;627      }
;;;628      /* For Rank 1 to 6 */
;;;629      if (Rank < 7)
000048  2a07              CMP      r2,#7
00004a  da0f              BGE      |L29.108|
;;;630      {
;;;631        /* Get the old register value */
;;;632        tmpreg1 = ADCx->SQR3;
00004c  6b44              LDR      r4,[r0,#0x34]
;;;633        /* Calculate the mask to clear */
;;;634        tmpreg2 = SQR3_SQ_Set << (5 * (Rank - 1));
00004e  1e56              SUBS     r6,r2,#1
000050  eb060786          ADD      r7,r6,r6,LSL #2
000054  261f              MOVS     r6,#0x1f
000056  fa06f507          LSL      r5,r6,r7
;;;635        /* Clear the old SQx bits for the selected rank */
;;;636        tmpreg1 &= ~tmpreg2;
00005a  43ac              BICS     r4,r4,r5
;;;637        /* Calculate the mask to set */
;;;638        tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 1));
00005c  1e56              SUBS     r6,r2,#1
00005e  eb060686          ADD      r6,r6,r6,LSL #2
000062  fa01f506          LSL      r5,r1,r6
;;;639        /* Set the SQx bits for the selected rank */
;;;640        tmpreg1 |= tmpreg2;
000066  432c              ORRS     r4,r4,r5
;;;641        /* Store the new register value */
;;;642        ADCx->SQR3 = tmpreg1;
000068  6344              STR      r4,[r0,#0x34]
00006a  e022              B        |L29.178|
                  |L29.108|
;;;643      }
;;;644      /* For Rank 7 to 12 */
;;;645      else if (Rank < 13)
00006c  2a0d              CMP      r2,#0xd
00006e  da0f              BGE      |L29.144|
;;;646      {
;;;647        /* Get the old register value */
;;;648        tmpreg1 = ADCx->SQR2;
000070  6b04              LDR      r4,[r0,#0x30]
;;;649        /* Calculate the mask to clear */
;;;650        tmpreg2 = SQR2_SQ_Set << (5 * (Rank - 7));
000072  1fd6              SUBS     r6,r2,#7
000074  eb060786          ADD      r7,r6,r6,LSL #2
000078  261f              MOVS     r6,#0x1f
00007a  fa06f507          LSL      r5,r6,r7
;;;651        /* Clear the old SQx bits for the selected rank */
;;;652        tmpreg1 &= ~tmpreg2;
00007e  43ac              BICS     r4,r4,r5
;;;653        /* Calculate the mask to set */
;;;654        tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 7));
000080  1fd6              SUBS     r6,r2,#7
000082  eb060686          ADD      r6,r6,r6,LSL #2
000086  fa01f506          LSL      r5,r1,r6
;;;655        /* Set the SQx bits for the selected rank */
;;;656        tmpreg1 |= tmpreg2;
00008a  432c              ORRS     r4,r4,r5
;;;657        /* Store the new register value */
;;;658        ADCx->SQR2 = tmpreg1;
00008c  6304              STR      r4,[r0,#0x30]
00008e  e010              B        |L29.178|
                  |L29.144|
;;;659      }
;;;660      /* For Rank 13 to 16 */
;;;661      else
;;;662      {
;;;663        /* Get the old register value */
;;;664        tmpreg1 = ADCx->SQR1;
000090  6ac4              LDR      r4,[r0,#0x2c]
;;;665        /* Calculate the mask to clear */
;;;666        tmpreg2 = SQR1_SQ_Set << (5 * (Rank - 13));
000092  f1a2060d          SUB      r6,r2,#0xd
000096  eb060786          ADD      r7,r6,r6,LSL #2
00009a  261f              MOVS     r6,#0x1f
00009c  fa06f507          LSL      r5,r6,r7
;;;667        /* Clear the old SQx bits for the selected rank */
;;;668        tmpreg1 &= ~tmpreg2;
0000a0  43ac              BICS     r4,r4,r5
;;;669        /* Calculate the mask to set */
;;;670        tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 13));
0000a2  f1a2060d          SUB      r6,r2,#0xd
0000a6  eb060686          ADD      r6,r6,r6,LSL #2
0000aa  fa01f506          LSL      r5,r1,r6
;;;671        /* Set the SQx bits for the selected rank */
;;;672        tmpreg1 |= tmpreg2;
0000ae  432c              ORRS     r4,r4,r5
;;;673        /* Store the new register value */
;;;674        ADCx->SQR1 = tmpreg1;
0000b0  62c4              STR      r4,[r0,#0x2c]
                  |L29.178|
;;;675      }
;;;676    }
0000b2  bdf0              POP      {r4-r7,pc}
;;;677    
                          ENDP


                          AREA ||i.ADC_ResetCalibration||, CODE, READONLY, ALIGN=1

                  ADC_ResetCalibration PROC
;;;377      */
;;;378    void ADC_ResetCalibration(ADC_TypeDef* ADCx)
000000  6881              LDR      r1,[r0,#8]
;;;379    {
;;;380      /* Check the parameters */
;;;381      assert_param(IS_ADC_ALL_PERIPH(ADCx));
;;;382      /* Resets the selected ADC calibartion registers */  
;;;383      ADCx->CR2 |= CR2_RSTCAL_Set;
000002  f0410108          ORR      r1,r1,#8
000006  6081              STR      r1,[r0,#8]
;;;384    }
000008  4770              BX       lr
;;;385    
                          ENDP


                          AREA ||i.ADC_SetInjectedOffset||, CODE, READONLY, ALIGN=1

                  ADC_SetInjectedOffset PROC
;;;1023     */
;;;1024   void ADC_SetInjectedOffset(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel, uint16_t Offset)
000000  b510              PUSH     {r4,lr}
;;;1025   {
;;;1026     __IO uint32_t tmp = 0;
000002  2300              MOVS     r3,#0
;;;1027     
;;;1028     /* Check the parameters */
;;;1029     assert_param(IS_ADC_ALL_PERIPH(ADCx));
;;;1030     assert_param(IS_ADC_INJECTED_CHANNEL(ADC_InjectedChannel));
;;;1031     assert_param(IS_ADC_OFFSET(Offset));  
;;;1032     
;;;1033     tmp = (uint32_t)ADCx;
000004  4603              MOV      r3,r0
;;;1034     tmp += ADC_InjectedChannel;
000006  4618              MOV      r0,r3
000008  440b              ADD      r3,r3,r1
;;;1035     
;;;1036     /* Set the selected injected channel data offset */
;;;1037     *(__IO uint32_t *) tmp = (uint32_t)Offset;
00000a  601a              STR      r2,[r3,#0]
;;;1038   }
00000c  bd10              POP      {r4,pc}
;;;1039   
                          ENDP


                          AREA ||i.ADC_SoftwareStartConvCmd||, CODE, READONLY, ALIGN=1

                  ADC_SoftwareStartConvCmd PROC
;;;455      */
;;;456    void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
000000  b121              CBZ      r1,|L32.12|
;;;457    {
;;;458      /* Check the parameters */
;;;459      assert_param(IS_ADC_ALL_PERIPH(ADCx));
;;;460      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;461      if (NewState != DISABLE)
;;;462      {
;;;463        /* Enable the selected ADC conversion on external event and start the selected
;;;464           ADC conversion */
;;;465        ADCx->CR2 |= CR2_EXTTRIG_SWSTART_Set;
000002  6882              LDR      r2,[r0,#8]
000004  f44202a0          ORR      r2,r2,#0x500000
000008  6082              STR      r2,[r0,#8]
00000a  e003              B        |L32.20|
                  |L32.12|
;;;466      }
;;;467      else
;;;468      {
;;;469        /* Disable the selected ADC conversion on external event and stop the selected
;;;470           ADC conversion */
;;;471        ADCx->CR2 &= CR2_EXTTRIG_SWSTART_Reset;
00000c  6882              LDR      r2,[r0,#8]
00000e  f42202a0          BIC      r2,r2,#0x500000
000012  6082              STR      r2,[r0,#8]
                  |L32.20|
;;;472      }
;;;473    }
000014  4770              BX       lr
;;;474    
                          ENDP


                          AREA ||i.ADC_SoftwareStartInjectedConvCmd||, CODE, READONLY, ALIGN=1

                  ADC_SoftwareStartInjectedConvCmd PROC
;;;847      */
;;;848    void ADC_SoftwareStartInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
000000  b121              CBZ      r1,|L33.12|
;;;849    {
;;;850      /* Check the parameters */
;;;851      assert_param(IS_ADC_ALL_PERIPH(ADCx));
;;;852      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;853      if (NewState != DISABLE)
;;;854      {
;;;855        /* Enable the selected ADC conversion for injected group on external event and start the selected
;;;856           ADC injected conversion */
;;;857        ADCx->CR2 |= CR2_JEXTTRIG_JSWSTART_Set;
000002  6882              LDR      r2,[r0,#8]
000004  f4421202          ORR      r2,r2,#0x208000
000008  6082              STR      r2,[r0,#8]
00000a  e003              B        |L33.20|
                  |L33.12|
;;;858      }
;;;859      else
;;;860      {
;;;861        /* Disable the selected ADC conversion on external event for injected group and stop the selected
;;;862           ADC injected conversion */
;;;863        ADCx->CR2 &= CR2_JEXTTRIG_JSWSTART_Reset;
00000c  6882              LDR      r2,[r0,#8]
00000e  f4221202          BIC      r2,r2,#0x208000
000012  6082              STR      r2,[r0,#8]
                  |L33.20|
;;;864      }
;;;865    }
000014  4770              BX       lr
;;;866    
                          ENDP


                          AREA ||i.ADC_StartCalibration||, CODE, READONLY, ALIGN=1

                  ADC_StartCalibration PROC
;;;415      */
;;;416    void ADC_StartCalibration(ADC_TypeDef* ADCx)
000000  6881              LDR      r1,[r0,#8]
;;;417    {
;;;418      /* Check the parameters */
;;;419      assert_param(IS_ADC_ALL_PERIPH(ADCx));
;;;420      /* Enable the selected ADC calibration process */  
;;;421      ADCx->CR2 |= CR2_CAL_Set;
000002  f0410104          ORR      r1,r1,#4
000006  6081              STR      r1,[r0,#8]
;;;422    }
000008  4770              BX       lr
;;;423    
                          ENDP


                          AREA ||i.ADC_StructInit||, CODE, READONLY, ALIGN=1

                  ADC_StructInit PROC
;;;273      */
;;;274    void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct)
000000  2100              MOVS     r1,#0
;;;275    {
;;;276      /* Reset ADC init structure parameters values */
;;;277      /* Initialize the ADC_Mode member */
;;;278      ADC_InitStruct->ADC_Mode = ADC_Mode_Independent;
000002  6001              STR      r1,[r0,#0]
;;;279      /* initialize the ADC_ScanConvMode member */
;;;280      ADC_InitStruct->ADC_ScanConvMode = DISABLE;
000004  7101              STRB     r1,[r0,#4]
;;;281      /* Initialize the ADC_ContinuousConvMode member */
;;;282      ADC_InitStruct->ADC_ContinuousConvMode = DISABLE;
000006  7141              STRB     r1,[r0,#5]
;;;283      /* Initialize the ADC_ExternalTrigConv member */
;;;284      ADC_InitStruct->ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1;
000008  6081              STR      r1,[r0,#8]
;;;285      /* Initialize the ADC_DataAlign member */
;;;286      ADC_InitStruct->ADC_DataAlign = ADC_DataAlign_Right;
00000a  60c1              STR      r1,[r0,#0xc]
;;;287      /* Initialize the ADC_NbrOfChannel member */
;;;288      ADC_InitStruct->ADC_NbrOfChannel = 1;
00000c  2101              MOVS     r1,#1
00000e  7401              STRB     r1,[r0,#0x10]
;;;289    }
000010  4770              BX       lr
;;;290    
                          ENDP


                          AREA ||i.ADC_TempSensorVrefintCmd||, CODE, READONLY, ALIGN=2

                  ADC_TempSensorVrefintCmd PROC
;;;1165     */
;;;1166   void ADC_TempSensorVrefintCmd(FunctionalState NewState)
000000  b138              CBZ      r0,|L36.18|
;;;1167   {
;;;1168     /* Check the parameters */
;;;1169     assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;1170     if (NewState != DISABLE)
;;;1171     {
;;;1172       /* Enable the temperature sensor and Vrefint channel*/
;;;1173       ADC1->CR2 |= CR2_TSVREFE_Set;
000002  4908              LDR      r1,|L36.36|
000004  6809              LDR      r1,[r1,#0]
000006  f4410100          ORR      r1,r1,#0x800000
00000a  4a07              LDR      r2,|L36.40|
00000c  f8c21408          STR      r1,[r2,#0x408]
000010  e006              B        |L36.32|
                  |L36.18|
;;;1174     }
;;;1175     else
;;;1176     {
;;;1177       /* Disable the temperature sensor and Vrefint channel*/
;;;1178       ADC1->CR2 &= CR2_TSVREFE_Reset;
000012  4904              LDR      r1,|L36.36|
000014  6809              LDR      r1,[r1,#0]
000016  f4210100          BIC      r1,r1,#0x800000
00001a  4a03              LDR      r2,|L36.40|
00001c  f8c21408          STR      r1,[r2,#0x408]
                  |L36.32|
;;;1179     }
;;;1180   }
000020  4770              BX       lr
;;;1181   
                          ENDP

000022  0000              DCW      0x0000
                  |L36.36|
                          DCD      0x40012408
                  |L36.40|
                          DCD      0x40012000

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久美女高清视频| 久久99久久99| 欧美aa在线视频| zzijzzij亚洲日本少妇熟睡| 欧美一区二区精品| 亚洲欧美电影一区二区| 精品一区二区三区在线视频| 在线看一区二区| 国产精品人妖ts系列视频| 麻豆精品视频在线| 欧美日韩一区二区三区免费看| 欧美极品少妇xxxxⅹ高跟鞋| 美国毛片一区二区| 欧美剧在线免费观看网站| 亚洲蜜桃精久久久久久久| 国产麻豆精品久久一二三| 欧美精品一二三四| 亚洲最大成人综合| 91国产免费看| 亚洲天堂a在线| av电影天堂一区二区在线| 久久精品夜夜夜夜久久| 激情六月婷婷综合| 精品国产乱码久久久久久影片| 日本伊人午夜精品| 91麻豆精品国产91久久久资源速度 | eeuss鲁片一区二区三区 | 国模娜娜一区二区三区| 91精品国产91热久久久做人人| 亚洲综合久久久| 欧美色偷偷大香| 午夜精品久久久久久久99水蜜桃| 在线欧美日韩国产| 亚洲va天堂va国产va久| 欧美日韩在线播放一区| 亚洲国产视频一区二区| 欧美日韩国产bt| 欧美aaa在线| 精品国免费一区二区三区| 精品在线播放免费| 久久精品一区蜜桃臀影院| 国产精品资源网| 亚洲国产精品精华液ab| 不卡的av电影| 亚洲成人av资源| 日韩视频一区二区三区 | 精品久久国产老人久久综合| 欧美aa在线视频| 久久久综合视频| 暴力调教一区二区三区| 一区二区在线观看视频在线观看| 欧美午夜片在线看| 日本视频一区二区三区| 久久亚洲二区三区| 波多野结衣的一区二区三区| 亚洲精品日产精品乱码不卡| 欧美人狂配大交3d怪物一区| 久久国产精品免费| 国产精品麻豆久久久| 在线视频综合导航| 久久精品72免费观看| 国产欧美日韩亚州综合| 91老师片黄在线观看| 午夜av电影一区| 日本一区二区动态图| 欧美日韩一区二区三区高清| 久久99国产精品免费网站| 国产精品你懂的在线| 欧美综合在线视频| 国产在线看一区| 一区二区三区四区在线播放| 欧美成人a视频| 99精品视频在线观看| 奇米精品一区二区三区在线观看一| 国产无人区一区二区三区| 欧美视频一二三区| 国产成人在线影院| 人人爽香蕉精品| 国产精品久久精品日日| 日韩欧美高清一区| 欧美专区亚洲专区| 成人夜色视频网站在线观看| 香蕉久久夜色精品国产使用方法| 国产精品伦一区二区三级视频| 欧美一区二区人人喊爽| 91国在线观看| 成人福利视频网站| 韩国成人精品a∨在线观看| 亚洲一级二级在线| 中文字幕日韩av资源站| 精品久久久久久亚洲综合网| 欧美图片一区二区三区| 成人午夜电影网站| 激情伊人五月天久久综合| 日韩精品成人一区二区三区 | 成人av免费网站| 韩国成人精品a∨在线观看| 视频一区视频二区中文字幕| 中文字幕一区av| 久久久久9999亚洲精品| 日韩精品专区在线影院观看| 欧美区一区二区三区| 色吊一区二区三区| 一本到不卡免费一区二区| 成人激情免费网站| 大白屁股一区二区视频| 韩国av一区二区三区| 另类小说视频一区二区| 蜜臀av一区二区三区| 日韩电影网1区2区| 青娱乐精品视频| 美女网站在线免费欧美精品| 轻轻草成人在线| 久久福利资源站| 激情综合亚洲精品| 激情成人综合网| 国产高清一区日本| 成人免费毛片片v| 成人精品免费视频| 不卡的av在线| 欧美影院精品一区| 欧美日韩国产系列| 欧美一区二区黄色| 久久久综合激的五月天| 欧美韩日一区二区三区| 综合av第一页| 性感美女极品91精品| 日韩电影在线一区二区三区| 青草国产精品久久久久久| 久久精品国产亚洲高清剧情介绍 | 亚洲一级二级在线| 日韩成人av影视| 国内一区二区在线| 成人激情小说网站| 欧美亚洲国产怡红院影院| 欧美日韩一区二区三区四区| 日韩一级片在线播放| 久久免费国产精品| 国产精品美女久久久久久久| 亚洲精品免费在线| 免费在线观看一区| 丁香桃色午夜亚洲一区二区三区| eeuss鲁片一区二区三区在线看| 在线观看日韩毛片| ww亚洲ww在线观看国产| 一区二区中文视频| 人人爽香蕉精品| 不卡一区在线观看| 欧美精品三级日韩久久| 久久久久久久久蜜桃| 一区二区三区四区国产精品| 亚洲3atv精品一区二区三区| 精品综合久久久久久8888| 91在线视频观看| 欧美大片在线观看一区二区| 国产精品黄色在线观看| 日韩高清在线一区| 91网上在线视频| 日韩欧美激情在线| 亚洲男同1069视频| 久久99久久久久| 欧美在线观看视频一区二区三区 | 国产精品视频在线看| 午夜伦理一区二区| 成人黄色在线网站| 欧美r级在线观看| 亚洲综合免费观看高清完整版 | 亚洲综合色成人| 国产精品性做久久久久久| 欧美日本一区二区| 亚洲视频在线一区| 国产91精品精华液一区二区三区 | 久久久久久久性| 无码av免费一区二区三区试看 | 蜜臀国产一区二区三区在线播放| 99精品一区二区| 国产午夜精品久久久久久久| 亚洲chinese男男1069| 91在线观看视频| 国产午夜精品在线观看| 免费人成精品欧美精品| 欧美日韩极品在线观看一区| 中文字幕一区在线观看| 国产一区二区三区精品视频| 欧美精品久久一区二区三区| 亚洲男人的天堂在线aⅴ视频| 国产成人午夜精品影院观看视频 | 激情五月播播久久久精品| 欧美日韩国产另类一区| 一区二区三区在线视频观看| 不卡的av电影| 国产精品久久久久久户外露出| 国产一区二区三区久久久| 日韩精品影音先锋| 日本欧美肥老太交大片| 日韩一区二区免费在线电影| 婷婷成人综合网| 在线播放国产精品二区一二区四区| 亚洲激情在线激情| 91国产丝袜在线播放|