반응형
0. 파일
.1. STM32CubeMx
2. 주파수 계산법
1. APB1 Timer clocks(MHz)/(Prescaler+1)/(Counter Period+1) = Hz 90000000/1/(2047+1) = 43945.3125 Hz -> T=2.2755555555555555555555555555556e-5
2. Maximum Triangle Amplitude * 2 * (1번계산 T) = TT = 1023 * 2 *
2.2755555555555555555555555555556e-5 =
0.0465f = 21.47 Hz
%%%삼각파의 크기는 DAC Configuration 에서 Maximum Triangle Amplitude 를 조정하면 됨
3. Main.c
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration----------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART1_UART_Init();
MX_DAC_Init();
MX_TIM6_Init();
/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start(&htim6);
HAL_DAC_Start(&hdac,DAC_CHANNEL_1);
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,0x800);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,0x800);
DAC_ALIGN_12B_R
12bit 입니다.
DAC_ALIGN_8B_R
이렇게 하면 8bit 이겠지요~
12bit 라면 0~4095
8bit라면 0~255
이곳의 0x800 에 값을 넣으면 값을 바꿀수 있습니다.~
4. 결과
반응형
'공부 > STM32F4' 카테고리의 다른 글
6.[stm32f429] 74hc245 테스트 (0) | 2018.06.14 |
---|---|
5.[stm32f429] HID USB Host - Mouse (1) | 2018.06.08 |
3.[stm32f429][hal] USART1_인터럽트 (1) | 2018.03.07 |
2.[stm32f429][hal] USART1_Polling (0) | 2018.03.05 |
1.[stm32f429][hal] GPIO 인터럽트 (2) | 2018.03.02 |