找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

STM32數(shù)字示波器+詳細(xì)注釋+上位機(jī)程序+硬件

  [復(fù)制鏈接]
ID:127084 發(fā)表于 2016-6-17 12:25 | 顯示全部樓層 |閱讀模式
MCU實(shí)戰(zhàn)經(jīng)驗(yàn)】STM32
數(shù)字示波器
BoX Design
         從朋友得知ST公司在搞活動(dòng),可以申請(qǐng)STM32F429的探索套件,作為窮學(xué)生一枚的我不免動(dòng)了心。大二上學(xué)期參加完全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽之后閑來(lái)無(wú)事,就自己做了一個(gè)數(shù)字示波器來(lái)作為學(xué)習(xí)STM32的實(shí)戰(zhàn)檢驗(yàn),前后花費(fèi)了大概1個(gè)月的時(shí)間完成了初稿,之后又?jǐn)鄶嗬m(xù)續(xù)的完善我的示波器,并且為它編寫(xiě)了上位機(jī)程序和制定了通信協(xié)議。使用了前端程控模擬電路和上層電路板,uCOS-II,uCGUI,FFT,SD,上位機(jī)等等,現(xiàn)在因?yàn)閰⒓永蠋煹捻?xiàng)目研發(fā)也就暫時(shí)閑置了下來(lái),之前就打算在各大論壇開(kāi)源,但是一直沒(méi)有時(shí)間整理設(shè)計(jì)文檔,恰巧現(xiàn)在ST公司這個(gè)活動(dòng),所以就全部開(kāi)源分享給大家吧,一起學(xué)習(xí)。下一步計(jì)劃重新設(shè)計(jì)模擬電路部分使用CPLD和高速AD實(shí)現(xiàn)更高的采樣率。
         由于程序量比較大,所以在程序中我完成了大量的注釋?zhuān)敿?xì)的說(shuō)明了具體的實(shí)現(xiàn)方法,其中的示波器原理和FFT原理請(qǐng)自己查閱相關(guān)教材。我個(gè)人認(rèn)為最值得參考的就是如何制定一個(gè)效率較高的通信協(xié)議。我查閱了很多資料最后結(jié)合實(shí)際設(shè)計(jì)了一套通信協(xié)議,這套通信協(xié)議效傳輸速率理論最大可達(dá)16000bps,實(shí)際采用10666bps速率傳輸。協(xié)議的編碼、解碼算法的詳細(xì)說(shuō)明附在附件中。隨著程序量的增加,F103也漸漸感到比較吃力了,其中FFT的運(yùn)算就是典型代表,也希望借此機(jī)會(huì)申請(qǐng)到F429DSP指令的MCU來(lái)進(jìn)一步提高示波器的性能。
         限于目前的知識(shí)水平,這套示波器是實(shí)踐大于理論的產(chǎn)物,其中很多設(shè)計(jì)存在先天的不足,以后會(huì)繼續(xù)改進(jìn),向更高性能邁進(jìn)。

設(shè)計(jì)指標(biāo):
主控:                                        STM32F103ZET6
液晶屏:                                      4.3TFT480×272  65K彩色LCD顯示屏  FSMC
AD:                                         121MHz采樣率
最高實(shí)時(shí)取樣率:                   1MSa/s  12Bits
取樣緩沖器深度:                   5K  
垂直靈敏度:                            5V,1V,500mV,200mV,100mV,50mV,20mV,10mV;  
水平時(shí)基范圍:2S,1S,500mS,200mS,100mS,50mS,20mS,10mS,5mS,2mS,1mS,500uS,200uS,100uS,50uS,20uS,10uS,5uS,2uS,1uS
輸入阻抗:                                 1MΩ
最高輸入電壓:                       30Vpp
耦合方式:                                 AC/DC
觸發(fā)功能:                                 實(shí)現(xiàn)自動(dòng)、常規(guī)、單次觸發(fā)方式 ,上升或下降邊沿觸發(fā)  
參數(shù)計(jì)算:                                 頻率、周期、占空比、交流峰-峰值、平均值、光標(biāo)追蹤顯示
RUN/STOP

功能:
1、波形發(fā)生器:使用STM32一路DA實(shí)現(xiàn)正弦,三角波,方波,白噪聲輸出。 任意一種波形幅值在0-3.3V任意可調(diào)、頻率在一定范圍任意可調(diào)、方波占空比可調(diào)。調(diào)節(jié)選項(xiàng)可以通過(guò)觸摸屏完成設(shè)置。
2、SD卡存儲(chǔ): SD卡波形存儲(chǔ)輸出,能夠?qū)Ξ?dāng)前屏幕截屏,以JPG格式存儲(chǔ)在SD卡上。能夠存儲(chǔ)1S內(nèi)的波形數(shù)據(jù),可以隨時(shí)調(diào)用查看。
3、數(shù)據(jù)傳輸:  C#編寫(xiě)上位機(jī),通過(guò)串口完成對(duì)下位機(jī)的控制。(1)實(shí)現(xiàn)STOP/RUN功能(2)輸出波形電壓、時(shí)間參數(shù)(3)控制截屏(4)控制波形發(fā)生器(5)控制完成FFT6)波形的存儲(chǔ)和顯示
4、圖形接口:  UCGUI
2、水平掃速:  250 ns*、500ns、1μs、5 μs、10μs、50μs、500 μs5ms 、50ms
3、垂直電壓靈敏度:10mV/div, 20mV/div, 50mV/div, 0.1V/div, 0,2V/div, 0.5V/div, 1V/div,
2V/div, 5V/div
4、被測(cè)信號(hào)的各種參數(shù)屏幕顯示,包括頻率、電壓峰峰值等。


2ace7e0ddc324f941d9408346ec00132.jpg

這是上位機(jī)的程序

283ab5e87d25cbcf94b01e8a67edf1d1.jpg

測(cè)試時(shí)候的照片

5caa7c5180b9d07da08fdd4720af8e16.jpg

測(cè)試正弦波

6a282026dbe5eef24b3d4f0a0b9bb0b9.jpg

PCB

38df39b7072588877cddff5747c96396.jpg

模擬電路板



f93d3d2dcc9d6dc234d9120282789661.jpg

側(cè)面的照片

d9bb84e9a582c8c5fb3b915fefd3b0c6.jpg

源代碼的注釋

714aa843c402eb09d8147165a6d1cf88.jpg


7094ac099101946915b747d6b0cceec3.jpg





  1. /*---------------------------------------------------------
  2.                   ADC配置驅(qū)動(dòng)程序
  3.         說(shuō)明: 示波器AD采樣配置,經(jīng)過(guò)初步測(cè)試,AD采樣速率為1.286M
  4.               正弦波最大不失真測(cè)量頻率300kHz
  5.                   三角波最大不失真測(cè)量頻率150kHz
  6.                   矩形波最大不失真測(cè)量頻率100kHz
  7.         時(shí)間: 2013年11月19日
  8. ---------------------------------------------------------*/
  9. #include "stm32f10x.h"
  10. #include "adc.h"
  11. #include "oscilloscope.h"
  12. #include "ucos_ii.h"
  13. #include "tft_api.h"
  14. /*-----------------------------------------
  15.                             聲明變量
  16. ------------------------------------------*/
  17. extern WaveType WaveInfo;
  18. extern WaveMode WaveCtrl;
  19. volatile u16 ADCConvertedValue[SAMPDEPTH];//AD轉(zhuǎn)換緩沖區(qū),占用RAM 0.8KB

  20. /*-----------------------------------------
  21.                             ADC1端口初始化
  22. ------------------------------------------*/
  23. void ADC1_GPIO_Init(void)
  24. {
  25.         GPIO_InitTypeDef IO_Init;
  26.         RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);
  27.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOC,ENABLE);
  28.         //C1模擬輸入
  29.         IO_Init.GPIO_Pin = GPIO_Pin_1;
  30.         IO_Init.GPIO_Mode = GPIO_Mode_AIN;
  31.         GPIO_Init(GPIOC,&IO_Init);
  32. }

  33. /* #define ADC1_DR_Address ((unsigned int)0x40012400+0x4c) */
  34. /* unsigned short int ADC1_DMA_Value; */
  35. /*--------------------------------------------------
  36. 函數(shù)說(shuō)明:配置ADC1完成AD采集,是本示波器最核心的部分.
  37. 配置方案:ADC1由TIM3提供的觸發(fā)事件進(jìn)行觸發(fā)AD轉(zhuǎn)換,控
  38.                    制TIM3的速率就可以完成采樣率的改變.同時(shí)采
  39.                   用DMA完成數(shù)據(jù)傳輸,注入通道1完成內(nèi)部溫度傳
  40.                   感器AD采集.
  41. --------------------------------------------------*/
  42. void ADC1_Mode_Config(void)
  43. {
  44.         //配置DMA
  45.         DMA_InitTypeDef DMA_csh;
  46.         ADC_InitTypeDef ADC_csh;
  47.         TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  48.         NVIC_InitTypeDef NVIC_InitStructure;

  49.         DMA_DeInit(DMA1_Channel1);                                             //DMA復(fù)位,通道1
  50.         DMA_csh.DMA_PeripheralBaseAddr = ADC1_DR_Address;  //ADC1地址
  51.         DMA_csh.DMA_MemoryBaseAddr = (unsigned int)ADCConvertedValue;  //內(nèi)存地址
  52.         DMA_csh.DMA_DIR = DMA_DIR_PeripheralSRC;  
  53.         DMA_csh.DMA_BufferSize = SAMPDEPTH;                                            //緩沖大小為采樣深度
  54.         DMA_csh.DMA_PeripheralInc = DMA_PeripheralInc_Disable;  //外設(shè)地址固定
  55.         DMA_csh.DMA_MemoryInc = DMA_MemoryInc_Enable;                         //內(nèi)存地址自增
  56.         DMA_csh.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;  
  57.         DMA_csh.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
  58.         DMA_csh.DMA_Mode = DMA_Mode_Circular;                                          //循環(huán)傳輸
  59.         DMA_csh.DMA_Priority = DMA_Priority_High;                                  //DMA優(yōu)先級(jí)高
  60.         DMA_csh.DMA_M2M = DMA_M2M_Disable;
  61.         DMA_Init(DMA1_Channel1,&DMA_csh);                                                  //寫(xiě)入DMA1配置參數(shù)
  62.         DMA_Cmd(DMA1_Channel1,ENABLE);                                                           //使能DMA1通道1
  63.         DMA_ITConfig(DMA1_Channel1,DMA_IT_TC,ENABLE);                        //使能DMA CH1中斷

  64.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
  65.         NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel1_IRQn;
  66.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  67.         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  68.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  69.         NVIC_Init(&NVIC_InitStructure);

  70.         //配置TIM3工作在18MHz,為AD提供觸發(fā)
  71.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
  72.         TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
  73.         TIM_TimeBaseStructure.TIM_Period = 1;         
  74.         TIM_TimeBaseStructure.TIM_Prescaler = 99;         //工作在18M,每格最大值時(shí),不至于溢出      
  75.         TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;   
  76.         TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
  77.         TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);
  78.         TIM_SelectOutputTrigger(TIM3,TIM_TRGOSource_Update); //使用TIM3事件更新作為ADC觸發(fā)
  79.         
  80.         //配置ADC
  81.         ADC_csh.ADC_Mode = ADC_Mode_Independent;                  //獨(dú)立ADC模式
  82.     ADC_csh.ADC_ScanConvMode = DISABLE;                           //關(guān)閉掃描模式
  83.         ADC_csh.ADC_ContinuousConvMode = DISABLE;                  //連續(xù)AD轉(zhuǎn)換開(kāi)啟
  84.         ADC_csh.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T3_TRGO;  //由TIM3提供的觸發(fā)事件進(jìn)行觸發(fā)AD轉(zhuǎn)換
  85.         ADC_csh.ADC_DataAlign = ADC_DataAlign_Right;         //數(shù)據(jù)右對(duì)齊
  86.         ADC_csh.ADC_NbrOfChannel = 1;                                          //要轉(zhuǎn)換的通道數(shù)目1
  87.         ADC_Init(ADC1,&ADC_csh);                                                   //寫(xiě)入ADC1配置參數(shù)
  88.         ADC_RegularChannelConfig(ADC1,ADC_Channel_11,1,ADC_SampleTime_1Cycles5);//采樣速率1M
  89.         ADC_DMACmd(ADC1,ENABLE);                                                 //使能ADC1 DMA
  90.         ADC_ExternalTrigConvCmd(ADC1,ENABLE);                        //打開(kāi)ADC1外部觸發(fā)
  91.         
  92.         ADC_InjectedChannelConfig(ADC1,ADC_Channel_16,1,ADC_SampleTime_239Cycles5);         //配置ADC1通道16為注入通道1
  93.         ADC_ExternalTrigInjectedConvConfig(ADC1,ADC_ExternalTrigInjecConv_None);         //軟件觸發(fā)注入通道的轉(zhuǎn)換
  94.         ADC_TempSensorVrefintCmd(ENABLE);                                                                                         //使能溫度傳感器

  95.         ADC_Cmd(ADC1,ENABLE);                                                         //使能ADC1
  96.         ADC_ResetCalibration(ADC1);                                                  //復(fù)位校準(zhǔn)寄存器
  97.         while(ADC_GetResetCalibrationStatus(ADC1));     //等待校準(zhǔn)寄存器復(fù)位完成
  98.         ADC_StartCalibration(ADC1);                                                  //開(kāi)始校準(zhǔn)
  99.         while(ADC_GetCalibrationStatus(ADC1));                         //等待校準(zhǔn)完成
  100.         TIM_Cmd(TIM3,ENABLE);
  101. }
  102. /*-----------------------------------------
  103. 函數(shù)說(shuō)明:通過(guò)注入通道1轉(zhuǎn)換內(nèi)部溫度傳感器
  104.                    AD值,讀取10次有效數(shù)據(jù)取平均返回
  105. ------------------------------------------*/
  106. u16 GetTempSensor(void)   
  107. {
  108.         u16 temp=0,i,k=0;
  109.         for(i=0; i<10; )
  110.         {
  111.                 ADC_SoftwareStartInjectedConvCmd(ADC1,ENABLE);        //軟件觸發(fā)注入通道的轉(zhuǎn)換
  112.                 k = (0x6EE - ADC_GetInjectedConversionValue(ADC1,ADC_InjectedChannel_1)) / 0x05 + 25;
  113.                 if(k>0 && k<100)
  114.                 {
  115.                         temp += k;
  116.                         i++;
  117.                 }
  118.         }
  119.         temp /= 10;
  120.         return temp;            
  121. }
  122. /*-----------------------------------------
  123. 函數(shù)說(shuō)明:ADC1初始化
  124. ------------------------------------------*/
  125. void ADC1_Init(void)
  126. {
  127.         ADC1_GPIO_Init();
  128.         ADC1_Mode_Config();
  129. }
  130. /*-----------------------------------------
  131. 函數(shù)說(shuō)明:ADC傳輸DMA通道1中斷服務(wù)程序
  132.                    DMA把AD值傳輸?shù)骄彌_區(qū)完成后關(guān)閉定
  133.                   時(shí)器3(作為觸發(fā)AD轉(zhuǎn)換的定時(shí)器)同時(shí)
  134.                   置更新完成標(biāo)志位為1,開(kāi)定時(shí)器3在應(yīng)
  135.                   用中開(kāi)啟.
  136. ------------------------------------------*/
  137. void DMA1_Channel1_IRQHandler()
  138. {
  139.       OSIntNesting++;  
  140.       DMA_ClearFlag(DMA1_FLAG_TC1);        //清除DMA傳輸完成中斷
  141.       TIM_Cmd(TIM3,DISABLE);                //關(guān)閉TIM3
  142.       WaveCtrl.UpdatTrue = 1;                //已經(jīng)完成一次波形FIFO,可以批量讀出數(shù)據(jù)
  143.       OSIntExit();
  144. }
  145. /*-----------------------------------------
  146. 函數(shù)說(shuō)明:擦除AD緩沖區(qū)
  147. ------------------------------------------*/
  148. void Earse_AD_FIFO(void)
  149. {
  150.         uint32_t i;
  151.          for(i=0; i<sampdepth; i++)
  152.         {
  153.                 ADCConvertedValue[i] = 0;
  154.         }        
  155. }
復(fù)制代碼



  1. /*------------------------------------------------------------------------------------
  2.                                                                    STM32示波器
  3. 硬件平臺(tái):
  4.                          主控器: STM32F103ZET6 64K RAM 512K ROM
  5.                         屏幕器: SSD1963
  6.                         分辨率: 480x272 16位色
  7.                    觸摸屏: TSC2046
  8.                         模擬電路: OP  - TL084
  9.                                           OP  - u741
  10.                                           SW  - CD4051
  11.                                           CMP - LM311
  12.                                           PWR - LM7805
  13.                                               - LM7905
  14.                                                   - MC34063
  15.                                                   - AMS1117-3.3
  16.                                           DRI - ULN2003
  17.                         繼電器:信號(hào)繼電器
  18.                     電源:   DC +12V

  19. 軟件平臺(tái):
  20.                          開(kāi)發(fā)環(huán)境: RealView MDK-ARM uVision4.10
  21.                         C編譯器 : ARMCC
  22.                         ASM編譯器:ARMASM
  23.                         連接器:   ARMLINK
  24.                         實(shí)時(shí)內(nèi)核: uC/OS-II 2.90實(shí)時(shí)操作系統(tǒng)
  25.                         GUI內(nèi)核 : uC/GUI   3.90圖形用戶(hù)接口
  26.                         底層驅(qū)動(dòng): 各個(gè)外設(shè)驅(qū)動(dòng)程序
  27.         
  28.         ROM Size = Code + RO-data +RW-data
  29.         RAM Size = RW-data + ZI-data
  30.         Program Size: Code=56024 RO-data=8272 RW-data=256 ZI-data=29912         

  31. 時(shí)間: 2013年11月9日       BoX編寫(xiě)于大二上學(xué)期

  32. 版本: V1.0 - 2013/11/9
  33.        V1.1 - 2014/2/8
  34.            V3.0 - 2014/2/19                                
  35. -------------------------------------------------------------------------------------*/   
  36. #include "stm32f10x.h"
  37. #include "ucos_ii.h"
  38. #include "app.h"
  39. #include "GUI.h"

  40. #include "usart1.h"
  41. #include "pincfg.h"
  42. #include "delay.h"
  43. #include "tft_api.h"
  44. #include "dac.h"
  45. #include "adc.h"
  46. #include "iwdg.h"
  47. #include "timer.h"
  48. #include "EXTI.H"
  49. #include "oscilloscope.h"
  50. #include "indkey.h"
  51. #include "tsc2046.h"

  52. #include "task_rtc.h"
  53. #include "task_gui.h"
  54. #include "task_sd.h"


  55. /*-----------------------------------------
  56.                                 聲明起始任務(wù)棧
  57. ------------------------------------------*/
  58. OS_STK  Task_Start_Stk[TASK_START_STK_SIZE];

  59. /*-----------------------------------------
  60. 因?yàn)樯婕暗綄?duì)共享資源的訪(fǎng)問(wèn),創(chuàng)建互斥信號(hào)量
  61. ------------------------------------------*/
  62. OS_EVENT *LCD_Buffer_MUTEX;
  63. OS_EVENT *USART_Buffer_MUTEX;
  64. OS_EVENT *SDtoRAM_Buffer_MUTEX;
  65. /*-----------------------------------------
  66.                                 主 函 數(shù)
  67. ------------------------------------------*/   
  68. int main(void)   
  69. {   
  70.          INT8U err;
  71.      SystemInit();                 //初始化RCC時(shí)鐘
  72.          OSInit();
  73.                            
  74.          LCD_Buffer_MUTEX     = OSMutexCreate(4,&err);        //創(chuàng)建3個(gè)共享資源互斥信號(hào)量
  75.          USART_Buffer_MUTEX   = OSMutexCreate(4,&err);
  76.          SDtoRAM_Buffer_MUTEX = OSMutexCreate(4,&err);
  77.             
  78.      OSTaskCreate(Task_Start,(void *)0,&Task_Start_Stk[TASK_START_STK_SIZE-1],TASK_START_PRIO); //起始任務(wù)   
  79.          
  80.          OSStart();      
  81. }
  82. /*-------------------------------------------------------------------------------
  83. 函數(shù)功能:初始化各種外設(shè)
  84. 說(shuō)    明:因?yàn)榕懿僮飨到y(tǒng),所以外設(shè)的初始化應(yīng)該放在操作系統(tǒng)的初始任務(wù)中完成,不能
  85.           在while(1)循環(huán)外部完成外設(shè)的初始化工作,否則操作系統(tǒng)可能無(wú)法啟動(dòng).
  86.                   本函數(shù)在app.c中被調(diào)用
  87. -------------------------------------------------------------------------------*/
  88. void BSP_Init(void)
  89. {
  90.         OS_CPU_SR  cpu_sr = 0u;
  91.         OS_ENTER_CRITICAL();
  92.         DelayInit();                 //初始化延時(shí)
  93.         PinCfg();                         //外部器件控制配置
  94.         FSMC_LCD_Init();         //FSMC總線(xiàn)配置                  
  95.         GUI_Init();                         //初始化UCGUI界面
  96.         TSC2046_Config();         //初始化觸摸控制器
  97.         USART1_Config();         //初始化串口
  98.         DAC_Config();                 //初始化DAC1
  99.         ADC1_Init();                 //初始化ADC1
  100.         EXTI_Config();                 //初始化外部中斷
  101.         Key_EXTI_Config();         //初始化按鍵中斷
  102.         TIM5_Config(1999,71);  //TIM5以1MHz頻率計(jì)數(shù),每2ms溢出中斷
  103. //        TIM4_Config(59999,71); //TIM4以1MHz頻率計(jì)數(shù),每60ms溢出中斷
  104.         RTC_Init();                            //初始化RTC
  105. //        SD_Init();
  106.         JDQ_ACDC = 1;                  //交流耦合
  107.         ManualGainScan(3);    //調(diào)試用
  108.         IWDG_Init(4,625);     //喂狗時(shí)間為1000ms
  109.         OS_EXIT_CRITICAL();         
  110. }
復(fù)制代碼



由于完整程序包較大,完整程序包可到百度網(wǎng)盤(pán)下載,下載鏈接在附件里

源碼程序包可直接點(diǎn)擊附件下載
STM32示波器源代碼.zip (3.4 MB, 下載次數(shù): 683)

評(píng)分

參與人數(shù) 2黑幣 +10 收起 理由
epkebos88 + 5 絕世好帖!
邰夏留 + 5 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2016-8-14 14:49 | 顯示全部樓層
51黑有你更精彩!。
回復(fù)

使用道具 舉報(bào)

ID:137040 發(fā)表于 2016-8-18 13:35 | 顯示全部樓層
有分享精神必須贊。
回復(fù)

使用道具 舉報(bào)

ID:103824 發(fā)表于 2016-8-19 12:36 | 顯示全部樓層
多謝分享哦
回復(fù)

使用道具 舉報(bào)

ID:137137 發(fā)表于 2016-8-19 14:36 | 顯示全部樓層
有分享精神必須贊。
回復(fù)

使用道具 舉報(bào)

ID:137158 發(fā)表于 2016-8-19 18:48 | 顯示全部樓層
樓主你的百度云鏈接失效了,可以給我發(fā)下你設(shè)計(jì)的詳細(xì)資料嗎?萬(wàn)分感謝。
qq郵箱819534212@qq.com
回復(fù)

使用道具 舉報(bào)

ID:119820 發(fā)表于 2016-8-22 08:14 | 顯示全部樓層
謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:139236 發(fā)表于 2016-9-20 09:33 | 顯示全部樓層
版主厲害啊
回復(fù)

使用道具 舉報(bào)

ID:147443 發(fā)表于 2016-11-14 15:51 | 顯示全部樓層
好東西,收藏了
回復(fù)

使用道具 舉報(bào)

ID:147443 發(fā)表于 2016-11-14 15:52 | 顯示全部樓層
好東西收藏了
回復(fù)

使用道具 舉報(bào)

ID:148413 發(fā)表于 2016-11-17 10:38 | 顯示全部樓層
51有你更精彩
回復(fù)

使用道具 舉報(bào)

ID:79034 發(fā)表于 2016-11-21 08:43 | 顯示全部樓層
謝謝樓主分享,下載了就頂貼,養(yǎng)成良好的習(xí)慣,也方便新手學(xué)習(xí)。。
回復(fù)

使用道具 舉報(bào)

ID:45457 發(fā)表于 2017-1-28 00:14 | 顯示全部樓層
版主厲害
回復(fù)

使用道具 舉報(bào)

ID:75377 發(fā)表于 2017-2-7 14:00 | 顯示全部樓層
感謝分享。
回復(fù)

使用道具 舉報(bào)

ID:118866 發(fā)表于 2017-3-11 11:02 | 顯示全部樓層
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:170685 發(fā)表于 2017-3-14 17:49 | 顯示全部樓層
好東西,謝謝
回復(fù)

使用道具 舉報(bào)

ID:62289 發(fā)表于 2017-3-15 20:56 | 顯示全部樓層

51有你更精彩
回復(fù)

使用道具 舉報(bào)

ID:141497 發(fā)表于 2017-4-4 01:04 | 顯示全部樓層
感謝樓主分享,下來(lái)學(xué)習(xí)一下。
回復(fù)

使用道具 舉報(bào)

ID:169320 發(fā)表于 2017-4-14 22:44 | 顯示全部樓層
想問(wèn)一下大神們 如果用STM32F103RCT6這種不同型號(hào) 有差不多的單片機(jī) 需要改哪些東西?
回復(fù)

使用道具 舉報(bào)

ID:95821 發(fā)表于 2017-4-15 09:23 | 顯示全部樓層
牛啊
回復(fù)

使用道具 舉報(bào)

ID:197318 發(fā)表于 2017-5-6 14:47 | 顯示全部樓層
新人求教
回復(fù)

使用道具 舉報(bào)

ID:197333 發(fā)表于 2017-5-6 15:22 | 顯示全部樓層
zhen ligai
回復(fù)

使用道具 舉報(bào)

ID:198032 發(fā)表于 2017-5-8 10:33 | 顯示全部樓層
非常好,真好參考一下
回復(fù)

使用道具 舉報(bào)

ID:210030 發(fā)表于 2017-6-11 10:53 | 顯示全部樓層
謝大神了  
回復(fù)

使用道具 舉報(bào)

ID:29438 發(fā)表于 2017-6-15 08:27 | 顯示全部樓層
值得學(xué)習(xí),謝謝!
回復(fù)

使用道具 舉報(bào)

ID:206717 發(fā)表于 2017-6-20 21:20 | 顯示全部樓層
感謝樓主 鏈接失效了
能補(bǔ)發(fā)一下嗎?
回復(fù)

使用道具 舉報(bào)

ID:213118 發(fā)表于 2017-6-20 22:14 | 顯示全部樓層
這有pcb電路圖嗎?
回復(fù)

使用道具 舉報(bào)

ID:73991 發(fā)表于 2017-6-21 22:53 | 顯示全部樓層
這個(gè)資料給力。其實(shí),調(diào)理電路也特別重要

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:187115 發(fā)表于 2017-7-19 10:28 | 顯示全部樓層
51黑有你更精彩。!
回復(fù)

使用道具 舉報(bào)

ID:249221 發(fā)表于 2017-11-14 17:19 | 顯示全部樓層
51黑有你更精彩。!
回復(fù)

使用道具 舉報(bào)

ID:13442 發(fā)表于 2017-11-19 22:43 | 顯示全部樓層
不錯(cuò) 下來(lái)研究學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:275930 發(fā)表于 2018-1-17 16:13 | 顯示全部樓層
學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:265954 發(fā)表于 2018-1-21 16:25 | 顯示全部樓層
看到警告就渾身不舒服,消除之后就清爽多了 ddd.jpg

回復(fù)

使用道具 舉報(bào)

ID:297994 發(fā)表于 2018-5-23 09:26 | 顯示全部樓層
k = (0x6EE - ADC_GetInjectedConversionValue(ADC1,ADC_InjectedChannel_1)) / 0x05 + 25;
能解釋一下這一句嗎?
回復(fù)

使用道具 舉報(bào)

ID:336740 發(fā)表于 2018-5-23 19:15 | 顯示全部樓層
好資料
回復(fù)

使用道具 舉報(bào)

ID:237252 發(fā)表于 2018-5-24 10:18 | 顯示全部樓層
必須贊一個(gè)
回復(fù)

使用道具 舉報(bào)

ID:338085 發(fā)表于 2018-5-25 19:52 | 顯示全部樓層
下載后,代碼用keil打不開(kāi)啊
回復(fù)

使用道具 舉報(bào)

ID:325735 發(fā)表于 2018-5-28 15:38 | 顯示全部樓層
有沒(méi)有成品我想購(gòu)買(mǎi)一套研究下
回復(fù)

使用道具 舉報(bào)

ID:308274 發(fā)表于 2018-5-29 21:27 | 顯示全部樓層

謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:342520 發(fā)表于 2018-5-31 22:15 | 顯示全部樓層
樓主厲害了,謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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