전체 글 467

인터럽트 벡터 위치 확인과 변경

정식으로 드라이버와 데이터 시트를 받지 못했을 경우 인터럽트 벡터 위치를 직접 확인해서 넣어야하는 경우가 있습니다. 그럴때 다소 귀찮긴 하지만 하나씩 인터럽트 벡터를 살린 후 데이터가 들어오는 인터럽트 벡터 번호를 찾아서 매핑해주면 사용할 수 있습니다. Uart0번의 벡터를 체크한 부분입니다. 인터럽트와 별도로 Uart 설정은 따로 해주어야 합니다. void INT_All_Enable(void) { int Interrupt_Vector_Num = 0; DEBUGPRINT("\r\n NORMAL MODE TEST"); for( Interrupt_Vector_Num= 0; Interrupt_Vector_Num < 239; Interrupt_Vector_Num++){ NVIC_ClearPendingIRQ(In..

STM32L432 - Internal Flash Erase 문제

내부 플래쉬를 삭제를 하려는데 삭제가 계속 안되는 현상이 발생했습니다. NVIC_EnableIRQ(SysTick_IRQn);(NVIC_DisableIRQ 도 동일)로 인터럽트를 설정하면서 발생하는 부분은 파악하였는데 정확한 이유는 조금 더 확인해 봐야겠습니다. #define FLASH_USER_START_ADDR ADDR_FLASH_PAGE_96 /* Start @ of user Flash area */ #define FLASH_USER_END_ADDR ADDR_FLASH_PAGE_97 + FLASH_PAGE_SIZE - 1 /* End @ of user Flash area */ void Test_FLASH(void) { uint8_t achp_Data[32] = {0x12, 0x34, 0x56, 0x7..

카테고리 없음 2020.02.27

PADS - Fatal Data Base Error Number 2012 문제

EVM 제조사에서 받은 회로 파일을 변경하여 기존 PCB 파일에 ECO 변경하여 사용하려고 하니 Fatal Data Base Error Number 2012 문제가 발생하네요. 특별한 조치없이 파일을 ASC로 EXPORT한 후에 IMPORT해서 ECO 변경을 하니 해결되었습니다. (저는 IMPORT시에 에러를 줄이기 위해 기존 PCB 파일의 START-UP 파일을 넣어두고 NEW FILE를 생성할 때 불러서 작업을 했습니다.) 순서는 아래처럼 하였습니다. 1. 기존 START-UP 파일 저장 2. PCB 파일 ASC로 EXPORT 3. 저장한 START-UP 파일로 새파일 생성 4. EXPORT한 ASC 파일을 IMPORT 5. ECO 변경(ECO 작업 한 부분은 제외하였습니다.)

STM32 PID 제어

ADC로 전류값을 읽어온 후 180mA로 타겟값을 맞췄습니다. (미제어시 125mA ~ 170mA 정도 소요) => arm에서 제공하는 arm_cortexMxxx_math.lib를 사용 #define TAGET_ADC 1000 void PID_ADC(uint8_t *chpADC, uint8_t chSize) { Get_RAWADC(s_chpBuf[s_ADCpointer++]); PID_CurrentControl(Average(s_chpBuf, ADCCNT, 1), TAGET_ADC); if(s_ADCpointer >= ADCCNT){ s_ADCpointer = 0; } } /*************************************************************************..

STM32H750 ReadProtection, BrownOutReset 설정

ReadProtection은 설정하고 나면 옵션을 지우고 플래쉬가 삭제되어야만 사용할 수 있으니 주의가 필요합니다. #define BORLEVEL OB_BOR_LEVEL1 #define RDPLEVEL OB_RDP_LEVEL_1 #define BOR_FLAG_TIMEOUT 3000 /******************************************************************************* * Function Name : * Parameters : None * Return : None * Description : *******************************************************************************/ void Con..

STM32H750 내부 온도 센서 값 읽기

ADC1을 설정하고 ADC를 읽어오다가 내부 온도 센서나 BAT 값을 읽어보려고 설정을 하였지만 값을 제대로 읽어오지 못하였습니다. 왜 안될까 고민하다가 데이터 시트를 펼쳤습니다. !!!??? In addition, there are 5 internal dedicated channels – The internal reference voltage (VREFINT), connected to ADC3 – The internal temperature sensor (VSENSE), connected to ADC3 – The VBAT monitoring channel (VBAT/4), connected to ADC3 The ADCs are connected to 5 internal analog inputs: – t..

STM32H750 내부 Flash 사용하기

기본 제공되는 SDK를 사용해보려고하니 외부 메모리를 사용하는 타입(STM32H750B-DK)이라 정상동작 하지 않았습니다. 그래서 ROM, RAM 영역을 다시 설정해 주었습니다. 일단 컴파일러에서 ROM과 RAM 영역을 설정한 후 system_stm32h7xx.c를 설정해주면 정상적으로 동작합니다. (USB HS MSC를 사용하려고 하는데 무슨 설정을 잘못하였는지 메모리 설정이 안나가네요. HID는 잘되는데.... 후~ 갈 길이 멀어보입니다.) keil의 경우 system_stm32h7xx.c에서 #ifdef VECT_TAB_SRAM SCB->VTOR = D1_AXISRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ #..

지속적인 관심 감사합니다.

프링님 글에서 보니 게임 안한지 오래되었는데도 불구하고 제 이름이 자주 오르내려서 행복합니다. (저는 게임상에서 저런분 본 적도 없는 것 같은데... 전설이 된 건가?) 감사합니다. 진심 감사합니다. 레알!! https://uocraft.tistory.com/424?category=714534 2019.12.14 NF길드 아리랑 EM이벤트 방해 행위 및 괴롭힘 박제 2019년 12월 14일에 있었던 아리랑 EM 이벤트에서 NF길드의 이벤트 방해, 소란, 스팸, 타인을 괴롭히고 모욕하는 행위에 대한 제보가 있었습니다. 이벤트 참가하지도 않았습니다만... #리플리 증후군 이벤트.. uocraft.tistory.com

My UO/Ultima Online 2019.12.23