전체 글 (196) 썸네일형 리스트형 타이머 설정 - STM32F030F4P6 MCU는 STM32F030F4P6을 사용하였고 관련 데이터 시트는 아래 첨부했습니다. STM32CubeMX 설정1. Mode1) Slave Mode외부 또는 내부 트리거에 반응해서 타이머의 카운터 동작을 제어하는 방식※ 트리거어떤 동작을 시작하게 만드는 신호 또는 이벤트를 말한다.종류설명예시외부 트리거외부에서 들어오는 핀 신호(스위치, 센서 등)GPIO 핀에서 rising/falling edge내부 트리거마이크로컨트롤러 내부 이벤트다른 타이머의 업데이트 이벤트, ADC 완료 신호 등소프트웨어 트리거코드로 직접 발생시킴HAL_TIM_GenerateEvent()같은 함수로 트리거 유도Slave Mode 옵션설명Disable슬레이브 모드를 사용하지 않음.타이머는 자체 클럭으로 자유롭게 동작. 기본 설정.Ext.. 타이머 설정 - NUC029SGE MCU는 NUC029SGE를 사용하였고 관련 데이터 시트는 아래 첨부했습니다. 코드 분석 static void sSysTimer_Init(void) { /* Enable TIMER0 module clock */ CLK_EnableModuleClock(TMR0_MODULE); /* Select TIMER module clock source */ CLK_SetModuleClock(TMR0_MODULE, CLK_CLKSEL1_TMR0SEL_HIRC, MODULE_NoMsk); TIMER_Open(TIMER0, TIMER_PERIODIC_MODE, 1000); TIMER_EnableInt(TIMER0); /* Enable Timer0 NVIC */ NVIC_EnableIRQ(TMR0_IRQn); } 1) CLK.. Clock 설정 - STM32F030F4P6 MCU는 STM32F030F4P6을 사용하였고 관련 데이터 시트는 아래 첨부했습니다. 1. 핀 설정 1) 회로도 확인 회로도에서 외부에 8MHz의 crystal oscillator가 있는 것을 확인한다. 그리고 PF0, PF1핀에 XIN, XOUT으로 연결되는 것을 확인한다. 2) 데이터 시트 확인 위 그림에서 표시된 clock source 중 빨간색으로 표시된 clock source를 사용한다. ※ 용어 정리 HSI RC(8 MHz): High Speed Internal RC oscillator HSE OSC(4~32 MHz): High Speed External OSCillator LSE OSC(32.168 kHz): Low Speed External OSCillator LSI RC(40 kHz): .. 클럭과 주파수 클럭: 컴퓨터에서 연산을 조정하는 타이밍 신호 클럭 속도(=주파수): 클럭 신호가 반복되는 속도 10Hz는 1초에 10번 신호가 반복되는 것을 말하며, 이는 1초에 10번의 클럭이 발생하는 것을 의미한다. 만약 1초에 1개의 명령어처리가 가능한 CPU라면 10Hz의 클럭 속도를 지닌 CPU는 1초에 10개의 명령어 처리가 가능하다는 것을 의미한다. 예를 들어 시스템 클럭(HCLK)이 약 22MHz이고, 이 CPU는 1클럭에 1개의 명령어 처리가 가능하다면 1초에 2천2백만개의 명령어를 처리할 수 있다. Clock 설정 - NUC029SGE MCU는 NUC029SGE를 사용하였고 관련 데이터 시트는 아래 첨부했습니다. 코드 분석 static void sSysClk_Init(void) { //Unlock protected registers SYS_UnlockReg(); /*Disable clock source*/ CLK_DisableXtalRC(CLK_PWRCTL_HXTEN_Msk); if(!(CLK->STATUS & CLK_STATUS_HXTSTB_Msk)) { SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF3MFP_Msk | SYS_GPF_MFPL_PF4MFP_Msk); SYS->GPF_MFPL |= (SYS_GPF_MFPL_PF3MFP_GPIO | SYS_GPF_MFPL_PF4MFP_GPIO); } /* Enable HIR.. STM32CubeMX에서 STM32CubeIDE로 코드 생성하기 1. STM32CubeIDE, STM32CubeMX 설치한다.https://www.st.com/en/development-tools/stm32cubemx.html STM32CubeMX - STMicroelectronicsSTM32CubeMX - STM32Cube initialization code generator, STM32CubeMX-Win, STM32CubeMX, STM32CubeMX-Lin, Patch-CubeMX, STM32CubeMX-Mac, STMicroelectronicswww.st.comhttps://www.st.com/en/development-tools/stm32cubeide.html STM32CubeIDE - STMicroelectronicsSTM32CubeIDE - Integrat.. 동기(Synchronous)와 비동기(Asynchronous) 방식 비동기(Asynchronous) 방식 송신 측과 수신 측의 clock에 상관없이 시간을 쪼개서 서로 송수신 속도를 Baud rate을 정해서 맞춘다. 이때 한 번에 한 문자씩 송수신하며 아래 그림1과 같이 데이터 길이, 시작 비트, 정지 비트를 포함하여 보내는 방법을 사용한다. 시작 비트와 정지 비트 사이의 간격이 가변적이므로 불규칙적인 전송에 적합하며, 필요한 접속장치와 기기들이 간단하므로 동기 방식보다 장비가 싸다. 비동기 방식 사용 예는 UART가 있다. ※ Baud rate Clock을 사용하지 않는 대신에 시간을 동기화(시간을 맞춘다)한다. 그래서 시간을 정확하게 쪼개서 데이터의 송수신 속도를 Baud rate으로 정한다. 만약 정보의 기본 단위가 bit이고 Baud rate이 115200이면 .. Baud rate과 Bit rate 1. 개념 Baud rate 초당 얼마나 많은 심볼(의미 있는 데이터 묶음)을 전송할 수 있는가? Bit rate 초당 얼마나 많은 데이터 비트를 전송할 수 있는가? 2. 정보의 기본 단위에 따른 예시 1) 정보의 기본 단위: ASCII Code ASCII Code는 1character로 8bit를 사용하므로 이를 하나의 심볼이라고 할 수 있다. 여기서 2400 Baud rate이란 초당 2400개의 심볼, 즉 ASCII Code를 전송할 수 있다는 뜻이며 이를 Bit rate로 표현하면 19200bps가 된다. 2) 정보의 기본 단위: Bit Bit가 하나의 심볼이므로 여기서 2400 baud rate이란 초당 2400개의 심볼, 즉 bit를 전송할 수 있다는 뜻이며 이를 Bit rate로 표현하면 2.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 25 다음