초보의 아웅다웅 설계하기/STM32 88

74HC595(시프트 레지스터) 테스트

... 4개 직렬 연결 // 74HC595_PIN13, PB10 - OE // 74HC595_PIN11, PB11 - SRCLK - SHIFT // 74HC595_PIN12, PB12 - RCLK - LATCH // 74HC595_PIN14, PB13 - SDI - DATA // 74HC595_PIN10, PB14 - CLR //- SER (Serial Input) : 시프트 레지스터로 데이터를 입력하는 핀 //- SRCLK (Shift Register Clock) : 클럭 핀(Clock Pin)의 상승 에지(Rising Edge) 신호에 동기되어 데이터 핀의 데이터가 시프트 레지스터로 들어갑니다. //- RCLK (Register Clock/Latch) : 이 핀에 신호가 들어가면 시프트 레지스터의 내..

치과용 초음파 세척

3개 회사의 Dental Ultrasonic Irrigation 의 회로의 구성을 보게 되었습니다. 2개 회사는 아래와 같은 회로는 아니지만 앞단에서 Step-up 회로로 승압을 하고 뒷단에서 Full-wave 신호를 L, C를 통해 Sign 신호로 변환하여 Langevin Transducer에 전달하는 구조였습니다. 1개는 Sepic 회로로 1차 승압을 하고 하프브릿지를 사용하여 Sign 신호로 인버팅되는 구조였습니다. 1개 업체는 단일 주파수로 되어있었고 2개 업체는 약 10kHz 정도의 주파수를 가변하면서 최적의 공진점을 찾아 그 공진점에서 동작되도록 설계 되어 있었습니다. 트랜듀서와 팁이 연결되어야 제대로 된 공진점이 생성되는 것 같습니다. 팁의 편차와 팁을 구부린 정도 형태 등에 따라 동작이 달..

STM32F0 PF0(OSC_IN), PF1(OSC_OUT) 사용

PF0, PF1을 사용하기 위해 RCC_DeInit함수 사용 /* For PF0, PF1 */ RCC_DeInit(); GPIO_InitTypeDef GPIO_InitStruct; // AFIO_REMAP_ENABLE(AFIO_MAPR_PD01_REMAP); /* Enable GPIOF clock */ RCC_AHBPeriphClockCmd(PERI_BUTTON, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); GPIO_InitStruct.GPIO_Pin = PIN_BUTTON_0 | PIN_BUTTON_1; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStruct.GPIO_PuPd = GPI..

STM --cpp 옵션으로 인한 에러

C로 컴파일 할 때는 이상없이 되다가 --cpp 옵션을 넣을 경우 에러가 발생 error: #167: argument of type "void *" is incompatible with parameter of type "xxxxxxxxxxxxxxxxx *" void HAL_HCD_SOF_Callback(HCD_HandleTypeDef *hhcd) { USBH_LL_IncTimer(hhcd->pData); /* void USBH_LL_IncTimer(USBH_HandleTypeDef *phost); */ } => void HAL_HCD_SOF_Callback(HCD_HandleTypeDef *hhcd) { USBH_LL_IncTimer((USBH_HandleTypeDef *)(hhcd->pData)); }

NTC(10k) 수식

NTC의 특성 값이나 회로 부분은 변경하여 사용하여야 합니다. #define REF_RESIST 10000 #define VREF 3.3f /******************************************************************************* * Function Name : * Parameters : None * Return : None * Description : 3.3 : 4096 = x : ADC Vout= (x/(x+10000)) * 3.3 *******************************************************************************/ float Calculation_Vout(u16 a_nhADCValue, ..

ADC128S102, DAC128S085

ADC128S102는 첫 데이터가 들어가고 다음 데이터에서 값이 나오는 것 같습니다. 때문에 값을 받을때는 한 채널씩 뒤로 밀리네요. #if 0 /* datalength 8bit */ #if 0 /* Enable SPI and GPIO clocks */ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); /* Configure SPI pins: SCK, MISO and MOSI */ GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_SPI2); GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_SPI2); GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, G..