분류 전체보기 (1991) 썸네일형 리스트형 STM32WB55 SSM - STM32CubeIDE BLE HRS(Heart Rate Service) 테스트 BLE Service중 간단하면서 ST BLE앱에서 쉽게 테스트 해 볼수 있는 Heart Rate Service 예제를 테스트 해보자. STM32_WPAN 폴더에 HRS 관련 기능 구현이 되어있다. 타이머 인터럽트를 생성해서 주기적으로 심박수 측정 결과를 보내는 구조이다. void HRSAPP_Init(void) { UTIL_SEQ_RegTask( 1 STM32WB55 SSM - STM32CubeIDE BLE Custom 데이터 송수신 테스트 STM32W 시리즈는 두개의 STM32 MCU로 구성되어 있고 Core2에 무선 관련 바이너리 파일을 Write 할 수 있다. BLE 바이너리를 이용해서 BLE 통신 테스트를 해 보자 STM32WB55 Zigbee 테스트에서와 같이 BLE Wireless Coprocessor Binary 파일(stm32wb5x_BLE_Stack_full_fw.bin)을 다운로드 해야 한다. ST에서 제공하는 STM32CubeIDE용 예제의 구조는 Zigbee예제와 비슷하게 \STM32_WPAN\APP 폴더에 있다. 각 어플리케이션 별로 코드를 작성해서 테스트 하면된다. 우선 간단한 BLE Custom 데이터 송수신 예제를 테스트 해 보자 void Custom_Switch_c_Send_Notification(void) /.. CH32V307 SM - Mounriver에서 W5500의 iperf TCP Throughput 측정 테스트 Arduino IDE에서 W5500 테스트에서 전송률이 낮아서 MounRiver 에서 W5500 테스트를 해 보자 우선 프로젝트를 생성하고 ioLibrary Driver를 다운 받아 복사 한다. CH32V307의 SPI 설정 함수를 작성한다. void SPI_FullDuplex_Init(void) { GPIO_InitTypeDef GPIO_InitStructure = {0}; SPI_InitTypeDef SPI_InitStructure = {0}; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_SPI1, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Mod.. CH32V307 SM - Arduino에서 W5500을 이용한 iperf Throughput 측정 테스트 CH32V307 Arduino 개발환경 에서 W5500 테스트하려고 기존 코드를 컴파일 하려니 에러가 발생한다. In file included from c:\Users\nexp7\OneDrive\����\Arduino\libraries\Ethernet2\src/Ethernet2.h:16, from D:\WORK\Arduino\CH32\w5500_iperf\w5500_iperf.ino:22: c:\Users\nexp7\OneDrive\����\Arduino\libraries\Ethernet2\src/EthernetClient.h:5:10: fatal error: Client.h: No such file or directory #include "Client.h" STM32용 코드중에서 Client.h, TC.. CH32V307 SM - Arduino ADC, DAC 테스트 CH32V307에는 2개의 12bit DAC 가 있다. 기존 DAC코드로 구동시 정상 동작을 하지 않는다. variant_CH32V307VCT6.h 파일을 확인 해 보니 DAC 채널의 경우 포트 설정을 아래와 같이 설정해 주어야 한다. #define PA4_ALT2 (PA4 | ALT2) //for DAC_Channel1 #define PA5_ALT2 (PA5 | ALT2) //for DAC_Channel2 VR이 연결된 PA0의 ADC값을 읽어 DAC1으로 출력 하는 간단한 예제로 정상 동작하는것을 확인 했다. const int analogInPin = A0; //const int analogOutPin = PA4; const int analogOutPin = PA4_ALT2; int sensorVal.. CH32V307 SM - TFT-LCD 그래프 출력 테스트 CH32V307-SM 보드는 SM Type EVM 형태의 표준 핀맵으로 제작되었고 확장 테스트 보드에서 기존에 제작 해 두었던 여러가지 보드를 테스트 할 수 있다. 확장 테스트 보드의 LCD에는 8bit 방식으로 연결되어 있다. 8비트 방식을 16비트 방식으로 변환 해 주는 LCD_CONV 테스트 보드에 연결하여 테스트 했다. 소스코드는 Raspberry Pi PicoW - TFT LCD 출력 테스트(그래프 출력)를 수정해서 사용 했다. 초기화 부분과 데이터 출력 부분은 아래와 같이 수정 했다 #define LCD_XLINE_SIZE240 #define LCD_YLINE_SIZE400 #define sbi(Port, Value) Port->BSHR = (Value) #define cbi(Port, Val.. CH32V307 SM - 웹서버 테스트 CH32V307 의 내장 Ethernet PHY를 이용하여 웹서버 테스트를 해 보자 사용 소스 코드는 하기 링크를 수정해서 작성하였다. https://github.com/openwch/ch32v307/tree/main/EVT/EXAM/ETH/WebServer 웹서버 처리 함수 /********************************************************************* * @fn Web_Server * * @brief web process function. * * @return none */ void Web_Server(void) { char *paraptr; uint8_t reqnum = 0; u32 resplen = 0; u32 pagelen = 0; reqnum = .. CH32V307 SM - UDP 전송속도 테스트(Iperf UDP Throughput 측정 테스트) Ethernet PHY가 포함되어 있는 CH32V307의 UDP 이더넷 성능 테스트를 진행해 보자 UDP서버 예제를 이용해서 UDP 루프백 속도를 측정 해 볼 수 있다. https://github.com/openwch/ch32v307/tree/main/EVT/EXAM/ETH/UdpServer int cnt = 0; void WCHNET_UdpServerRecv(struct _SOCK_INF *socinf, u32 ipaddr, u16 port, u8 *buf, u32 len) { //u8 ip_addr[4], i; /* int i; // printf("Remote IP:"); for (i = 0; i < 4; i++) { ip_addr[i] = ipaddr & 0xff; printf("%d ", ip_a.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 249 다음