自己用的片子是 stm32 的 100,用的 DAC 通道是:DAC_Channel_1
DMA 通道是:DMA1_Channel3
定时器用的是:TIM6
注:直接用例程没有出现预期的波形,主要是应为我用的片子为 100,所对应的 dac,dma,
以及 tim 与 103 的对应有所不同,如:100 的 dac 通道 1,与 dma1 的通道 3 及 tim6 是捆在
一块的。大家具体调试过程中,要按照自己的芯片型号的参考手册把这几块给对应起来即可。
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x_lib.h"
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
#define DAC1_DHR8R1_Address 0x40007408
/* Init Structure definition */
DAC_InitTypeDef DAC_InitStructure;
DMA_InitTypeDef DMA_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
ErrorStatus HSEStartUpStatus;
uc16 Sine12bit[32] = {2047, 2447, 2831, 3185, 3498, 3750, 3939, 4056, 4095, 4056,
3939, 3750, 3495, 3185, 2831, 2447, 2047, 1647, 1263, 909,
599, 344, 155, 38, 0, 38, 155, 344, 599, 909, 1263, 1647};
u32 DualSine12bit[32];
u8 Idx = 0;
/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);
void Delay(vu32 nCount);
/* Private functions ---------------------------------------------------------*/
/******************************************************************************
*
* Function Name : main
* Description : Main program.
* Input : None
* Output : None
* Return : None