精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CubeMX配置DAC雙通道輸出電壓和任意波形

CHANBAEK ? 來源:博客園-lzh666 ? 作者:博客園-lzh666 ? 2023-02-15 14:02 ? 次閱讀

CubeMX配置DAC雙通道輸出電壓和任意波形

一、相關函數

HAL_StatusTypeDef HAL_DAC_SetValue(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Alignment, uint32_t Data)//設置DAC輸出電壓值
HAL_StatusTypeDef HAL_DAC_Start(DAC_HandleTypeDef* hdac, uint32_t Channel)//使能DAC通道
uint32_t HAL_DAC_GetValue(DAC_HandleTypeDef* hdac, uint32_t Channel)//獲取相應通道的輸出值
HAL_StatusTypeDef HAL_DAC_Stop(DAC_HandleTypeDef* hdac, uint32_t Channel);
HAL_StatusTypeDef HAL_DAC_Start_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t* pData, uint32_t Length, uint32_t Alignment);
HAL_StatusTypeDef HAL_DAC_Stop_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel);

二、輸出電壓

比較簡單,直接上代碼

int main(void)
{

  HAL_Init();

  SystemClock_Config();


  MX_GPIO_Init();
  MX_DAC_Init();
  MX_UART4_Init();

    HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_8B_R,128);
    HAL_DAC_SetValue(&hdac,DAC_CHANNEL_2,DAC_ALIGN_8B_R,255);
    HAL_DAC_Start(&hdac,DAC_CHANNEL_1);
    HAL_DAC_Start(&hdac,DAC_CHANNEL_2);

  while (1)
  {
        printf("DAC-Channel 1 : %d\\r\\n",HAL_DAC_GetValue(&hdac,DAC_CHANNEL_1));
        printf("DAC-Channel 2 : %d\\r\\n\\n",HAL_DAC_GetValue(&hdac,DAC_CHANNEL_2));
        HAL_Delay(1000);         
  }
}

三、定時器觸發DAC+DMA輸出任意波形

(1)配置TIM6,話不多說,10ms觸發一次,即100HZ。 如下圖:

(2)配置DAC,比較簡單,不多說,注意使能DMA:

(3)編程實現

int main(void)
{
        const uint16_t CH_value[32] = {    2448,2832,3186,3496,3751,3940,4057,4095,
                                                                        4057,3940,3751,3496,3186,2832,2448,2048,
                                                                        1648,1264,910,600,345,156,39,0,39,156,345,
                                                                        600,910,1264,1648,2048};
    
        HAL_Init();

        SystemClock_Config();

        MX_GPIO_Init();
        MX_DMA_Init();
        MX_DAC_Init();
        MX_UART4_Init();
        MX_TIM6_Init();

        HAL_TIM_Base_Start(&htim6);
        HAL_DAC_Start_DMA(&hdac,DAC_CHANNEL_1,(uint32_t *)CH_value,32,DAC_ALIGN_12B_R);
        
        while (1)
        {
                printf("DAC->Channel1 : %d\\r\\n",HAL_DAC_GetValue(&hdac,DAC_CHANNEL_1));
                HAL_Delay(10);
        }
}

四、定時器觸發DAC+DMA輸出三波形

(1)CubeMX配置

最大三角波幅(Maximum Triangle Amplitude)為4095,即為3.3V(參考電壓為3.3V)

(2)編程實現

1 void MX_DAC_Init(void)
 2 {
 3   DAC_ChannelConfTypeDef sConfig = {0};
 4 
 5   /** DAC Initialization 
 6   */
 7   hdac.Instance = DAC;
 8   if (HAL_DAC_Init(&hdac) != HAL_OK)
 9   {
10     Error_Handler();
11   }
12   /** DAC channel OUT1 config 
13   */
14   sConfig.DAC_Trigger = DAC_TRIGGER_T6_TRGO;
15   sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE;
16   if (HAL_DAC_ConfigChannel(&hdac, &sConfig, DAC_CHANNEL_1) != HAL_OK)
17   {
18     Error_Handler();
19   }
20   /** DAC channel OUT2 config 
21   */
22   if (HAL_DAC_ConfigChannel(&hdac, &sConfig, DAC_CHANNEL_2) != HAL_OK)
23   {
24     Error_Handler();
25   }
26   /** Configure Triangle wave generation on DAC OUT2 
27   */
28   if (HAL_DACEx_TriangleWaveGenerate(&hdac, DAC_CHANNEL_2, DAC_TRIANGLEAMPLITUDE_4095) != HAL_OK)
29   {
30     Error_Handler();
31   }
32 
33 }
34 
35 
36 
37 int main(void)
38 {
39   /* USER CODE BEGIN 1 */
40     const uint16_t CH_value[32] = {    2448,2832,3186,3496,3751,3940,4057,4095,
41                                                                         4057,3940,3751,3496,3186,2832,2448,2048,
42                                                                         1648,1264,910,600,345,156,39,0,39,156,345,
43                                                                         600,910,1264,1648,2048};
44   /* USER CODE END 1 */
45   
46 
47   /* MCU Configuration--------------------------------------------------------*/
48 
49   /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
50   HAL_Init();
51 
52   /* USER CODE BEGIN Init */
53 
54   /* USER CODE END Init */
55 
56   /* Configure the system clock */
57   SystemClock_Config();
58 
59   /* USER CODE BEGIN SysInit */
60 
61   /* USER CODE END SysInit */
62 
63   /* Initialize all configured peripherals */
64   MX_GPIO_Init();
65   MX_DMA_Init();
66   MX_DAC_Init();
67   MX_UART4_Init();
68   MX_TIM6_Init();
69   /* USER CODE BEGIN 2 */
70     HAL_TIM_Base_Start(&htim6);
71     HAL_DAC_Start_DMA(&hdac,DAC_CHANNEL_1,(uint32_t *)CH_value,32,DAC_ALIGN_12B_R);
72     HAL_DAC_Start(&hdac,DAC_CHANNEL_2);
73   /* USER CODE END 2 */
74 
75   /* Infinite loop */
76   /* USER CODE BEGIN WHILE */
77   while (1)
78   {
79     /* USER CODE END WHILE */
80         printf("DAC Channel 1 ------> %d\\r\\n",HAL_DAC_GetValue(&hdac,DAC_CHANNEL_1));
81         printf("DAC Channel 2 ------> %d\\r\\n\\n",HAL_DAC_GetValue(&hdac,DAC_CHANNEL_2));
82         HAL_Delay(10);
83     /* USER CODE BEGIN 3 */
84   }
85   /* USER CODE END 3 */
86 }
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dac
    dac
    +關注

    關注

    43

    文章

    2271

    瀏覽量

    190840
  • 輸出電壓
    +關注

    關注

    2

    文章

    1092

    瀏覽量

    38025
  • 函數
    +關注

    關注

    3

    文章

    4306

    瀏覽量

    62431
  • dma
    dma
    +關注

    關注

    3

    文章

    559

    瀏覽量

    100430
  • 任意波形
    +關注

    關注

    0

    文章

    8

    瀏覽量

    7571
收藏 人收藏

    評論

    相關推薦

    使用DAC的軟件可配置16位雙通道單極性雙極性電壓輸出

    軟件可配置16位雙通道單極性/雙極性電壓輸出,采用DAC,16位,2CH DAC進行儀表測量
    發表于 06-25 11:22

    STM32單片機基礎20——使用DAC輸出任意指定電壓 相關資料推薦

    【STM32Cube_20】使用DAC輸出任意指定電壓值tags: STM32CubeMX DACcategories: STM32CubeMX
    發表于 07-01 06:45

    如何使用STM32CubeMX配置STM32L431RCT6的DAC外設輸出任意指定電壓值?

    如何使用STM32CubeMX配置STM32L431RCT6的DAC外設輸出任意指定電壓值?
    發表于 10-13 09:13

    RIGOL DG4000系列雙通道 函數/任意波形發生器性能特點

    。DG4000可以輸出16次諧波,真實模擬諧波信號,并且兩個通道均能輸出,互不干擾。??六. 7英寸高清屏。為了給工程師提供更好的使用體驗,DG4000系列 雙通道 函數/
    發表于 01-05 14:11

    MFG-2220HM雙通道任意波形信號發生器的性能特點及應用

    MFG-2220HM雙通道任意波形信號發生器,包括了CH1與CH2為兩個最高頻率為200MHz的等性能雙通道AFG(任意
    的頭像 發表于 12-31 16:47 ?3417次閱讀

    AN-1198: 利用AD5722R DAC提供軟件可配置的12位、雙通道、單極性/雙極性電壓輸出

    AN-1198: 利用AD5722R DAC提供軟件可配置的12位、雙通道、單極性/雙極性電壓輸出
    發表于 03-21 17:08 ?9次下載
    AN-1198: 利用AD5722R <b class='flag-5'>DAC</b>提供軟件可<b class='flag-5'>配置</b>的12位、<b class='flag-5'>雙通道</b>、單極性/雙極性<b class='flag-5'>電壓</b><b class='flag-5'>輸出</b>

    AN-1197:使用AD5732R DAC的軟件可配置14位雙通道單極/雙極電壓輸出

    AN-1197:使用AD5732R DAC的軟件可配置14位雙通道單極/雙極電壓輸出
    發表于 05-07 19:50 ?12次下載
    AN-1197:使用AD5732R <b class='flag-5'>DAC</b>的軟件可<b class='flag-5'>配置</b>14位<b class='flag-5'>雙通道</b>單極/雙極<b class='flag-5'>電壓</b><b class='flag-5'>輸出</b>

    UG-973:AD5322 12位雙通道電壓輸出DAC評估板

    UG-973:AD5322 12位雙通道電壓輸出DAC評估板
    發表于 05-12 20:51 ?4次下載
    UG-973:AD5322 12位<b class='flag-5'>雙通道</b><b class='flag-5'>電壓</b><b class='flag-5'>輸出</b><b class='flag-5'>DAC</b>評估板

    UG-979:AD5338R 10位雙通道電壓輸出DAC評估板

    UG-979:AD5338R 10位雙通道電壓輸出DAC評估板
    發表于 05-13 09:44 ?9次下載
    UG-979:AD5338R 10位<b class='flag-5'>雙通道</b><b class='flag-5'>電壓</b><b class='flag-5'>輸出</b><b class='flag-5'>DAC</b>評估板

    STM32單片機基礎20——使用DAC輸出任意指定電壓

    : 2707806886date: 2019-07-31 10:48:56本篇詳細的記錄了如何使用STM32CubeMX配置STM32L431RCT6的DAC外設,輸出任意指定
    發表于 11-19 09:36 ?57次下載
    STM32單片機基礎20——使用<b class='flag-5'>DAC</b><b class='flag-5'>輸出任意</b>指定<b class='flag-5'>電壓</b>

    任意波形發生器如何輸出電壓

    任意波形發生器如何輸出電壓任意波形發生器是一種能夠產生各種形狀、頻率和振幅的
    的頭像 發表于 12-21 14:13 ?723次閱讀

    任意波形發生器如何輸出電壓

    需求。本文將詳細闡述任意波形發生器如何輸出電壓的過程,包括其工作原理、主要組件、輸出控制以及影響輸出
    的頭像 發表于 05-15 15:38 ?704次閱讀

    DAC53xAxW具有I2C或SPI的10位三通道雙通道電壓輸出和電流輸出智能DAC數據表

    電子發燒友網站提供《DAC53xAxW具有I2C或SPI的10位三通道雙通道電壓輸出和電流輸出
    發表于 07-12 09:42 ?0次下載
    <b class='flag-5'>DAC</b>53xAxW具有I2C或SPI的10位三<b class='flag-5'>通道</b>和<b class='flag-5'>雙通道</b><b class='flag-5'>電壓</b><b class='flag-5'>輸出</b>和電流<b class='flag-5'>輸出</b>智能<b class='flag-5'>DAC</b>數據表

    DAC82002 16位、低毛刺脈沖、雙通道電壓輸出、非緩沖DAC數據表

    電子發燒友網站提供《DAC82002 16位、低毛刺脈沖、雙通道電壓輸出、非緩沖DAC數據表.pdf》資料免費下載
    發表于 07-15 10:07 ?0次下載
    <b class='flag-5'>DAC</b>82002 16位、低毛刺脈沖、<b class='flag-5'>雙通道</b><b class='flag-5'>電壓</b><b class='flag-5'>輸出</b>、非緩沖<b class='flag-5'>DAC</b>數據表

    DAC8552雙通道電壓輸出數模轉換器(DAC)數據表

    電子發燒友網站提供《DAC8552雙通道電壓輸出數模轉換器(DAC)數據表.pdf》資料免費下載
    發表于 07-26 09:15 ?1次下載
    <b class='flag-5'>DAC</b>8552<b class='flag-5'>雙通道</b>、<b class='flag-5'>電壓</b><b class='flag-5'>輸出</b>數模轉換器(<b class='flag-5'>DAC</b>)數據表