본문 바로가기

STM8_STUDY

(6)
STM8S - PWM테스트 (DC모터 속도 제어) STM8S - PWM테스트 (DC모터 속도 제어) 16비트 타이머 TIM1, TIM2를 이용하여 PWM출력을 각각 4, 3채널씩 출력 가능하다. 그리고 특이사항으로 PD4는 BEEP 핀이고 1, 2 , 4 kHz 로 사운드 출력을 할수 있다. (이 기능을 사용하려면 옵션비트 AFR7 을 리맵해야 한다고 한다.)PC6(HS)/SPI_MOSI [TIM1_CH1] PC7(HS)/SPI_MISO[TIM1_CH2] PC3(HS)/TIM1_CH3/[TIM1_CH1N] PC4(HS)/TIM1_CH4/CLK_CCO/AIN2/[TIM1_CH2N] PD4(HS)/TIM2_CH1/UART1_CK/BEEP PD3(HS)/TIM2_CH2/AIN4/ADC_ETR PA3(HS)/TIM2_CH3/[SPI_NSS] PC5(HS)/SP..
STM8S - ADC 테스트 STM8S - ADC 테스트 STM8S 는 10bit SAR ADC가 내장되어 있고 fADC = 1 to 4 or 6 MHz 로 동작한다. STM8S003F3 의 경우 VREF는 VDD이다. 저렴한 만큼 ADC의 성능은 기대할 수준은 아닌것 같다.LPC812와 같이 ADC없는것 보다는 나은것 같다. STM8S ADC 블록도STM8S003F3에서 ADC관련 핀맵은 아래와 같고 UART를 제외 하면 실제 2채널을 할당 할 수 있다.STM8-SS EVM에서는 ADC가 PD2/AIN3에 연결되어 있다. ADC테스트는 가변저항에 따라 변화되는 ADC값을 LCD에 표시하는 예제를 작성해 보았다. PD2(HS)/AIN3PD3 (HS)/AIN4/TIM2_CH2/ADC_ETR PD5(HS)/AIN5/UART1_TXPD6..
STM8S - SPI 테스트 STM8S - SPI 테스트 STM8S의 SPI는 최대 클럭 스피드 10Mhz로 동작한다. 동급의 8bit MCU인 AVR과 비교하면 조금더 성능이 좋아 보인다.S-Type EVM 보드를 이용하여 SPI인터페이스의 가속도센서를 테스트 해 보았다. STM8S SPI블록도8bit MCU의 전형적이 SPI구조 이고 AVR과 비교 했을때 큰 차이가 없어 보인다. STM8S SPI초기화 함수void SPI0_Init(void){SPI_DeInit();SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_32, SPI_MODE_MASTER, SPI_CLOCKPOLARITY_LOW, SPI_CLOCKPHASE_2EDGE, SPI_DATADIRECTION_2LINES_FULLDUPLE..
STM8S - UART 테스트 STM8S - UART 테스트 SS-Type EVM 보드와 USB2UART를 이용하여 STM8S UART 테스트를 진행했다. STM8S UART 블록도뭐 그리 특별한것은 없고 다른 8bit MCU와 같이 간단한 레지스터 구조로 구성되어 있다. 몇가지 레지스터만 확인하면 될것 같다. STM8S UART 송수신 함수unsigned char U0_GetByte(void){while ((UART1->SR & UART1_FLAG_RXNE) == RESET);return UART1->DR;} void U0_PutByte(unsigned char Data){ UART1->DR = Data; while ((UART1->SR & (u8) UART1_FLAG_TXE) == RESET);} STM8S UART 테스트 예제i..
STM8 EVM MCU성능테스트 - CLK 설정 STM8 EVM MCU성능테스트 - CLK 설정 STM8은 최대 24Mhz로 동작하는 8bit MCU이다. STM8SF의영우 16Mhz가 최대 동작 주파수 이다.속도는 그리 빠르지 않아도 가격대비 성능이 우수한데 간단히 성능 테스트를 해 보았다. STM8 클럭 블록도우선 STM8의 클럭 시스템을 보면 외부 오실레이터나 크리스탈을 연결하거나 내부 16Mhz RC 오실레이터를 이용할 수 있다. 사이즈가 워낙 작아서 내부 클럭 사용을 많이 하게되므로 내부 클럭 기준으로 테스트 할 예정이다. 동작 클럭은 외부로 출력 할 수 있는데 PC4-CLK CCO핀으로 출력해서 확인 할 수 있다. PC4(HS)/TIM1_CH4/CLK_CCO/AIN2/[TIM1_CH2N] STM8 클럭 설정void SystemInit(voi..
STM8S EVM - 개발환경 설정1 (IAR 편) STM8S EVM - 개발환경 설정1 (IAR 편) IAR에서 STM8을 컴파일러를 제공하는데 무료버전에서는 8Kbyte 까지 가능하다. STM8S003F3의 플래시 메모리는 8Kbyte 이므로 그냥 무료로 사용할 수 있다. IAR을 이용하면 기존 코드를 활용할 수 있고 별다른 환경 설정이 필요 없으므로 쉽게 사용해 볼 수 있다. STM8 IAR 사용하기우선 IAR 홈페이지에서 STM8용 컴파일러를 다운받아 설치하여 새로운 프로젝트를 생성 한다.STM8 만 지원하므로 원하는 디바이스를 선택하면 된다. 환경설정기존 IAR에서 사용하던 옵션과 동일하게 사용하면 되고 ST에서 제공하는 드라이버파일의 패스를 잡아 준다. $PROJ_DIR$\$PROJ_DIR$\..\$PROJ_DIR$\..\..\01_drv\$P..