검색결과 리스트
글
[Tiva]startup_ccs.c 파일에 외부 인터럽트 추가하기
Tiva C 기반의 MCU로 외부 인터럽트를 설정할 때 일반적으로 메인함수에서 IntRegister()와 같이 해당 인터럽트가 발생하였을 때 실행할 함수를 직접 설정하는 방법이 있습니다. 이 방법 이외에 인터럽트 함수를 등록할 수 있는 방법이 하나 존재합니다!
프로젝트 내부에 있는 startup_ccs.c 파일에 인터럽트 함수명을 설정해두면 main() 함수에서 정의를 하지 않아도 해당 함수를 인터럽트로 바로 사용하실 수 있습니다.
프로젝트에서 startup_ccs.c 파일을 열어보면 다음과 같은 함수들을 확인하실 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <stdint.h> #include "inc/hw_nvic.h" #include "inc/hw_types.h" extern void Timer0IntHandler(void); extern void Timer1IntHandler(void); #pragma DATA_SECTION(g_pfnVectors, ".intvecs") void (* const g_pfnVectors[])(void) = { (void (*)(void))((uint32_t)&__STACK_TOP), // The initial stack pointer ResetISR, // The reset handler NmiSR, // The NMI handler FaultISR, // The hard fault handler //--------코드 생략--------// Timer0IntHandler, // Timer 0 subtimer A IntDefaultHandler, // Timer 0 subtimer B Timer1IntHandler, // Timer 1 subtimer A IntDefaultHandler, // Timer 1 subtimer B IntDefaultHandler, // Timer 2 subtimer A IntDefaultHandler, // Timer 2 subtimer B //--------코드 생략--------// IntDefaultHandler, // PWM 1 Generator 0 IntDefaultHandler, // PWM 1 Generator 1 IntDefaultHandler, // PWM 1 Generator 2 IntDefaultHandler, // PWM 1 Generator 3 IntDefaultHandler // PWM 1 Fault }; |
위의 함수에서 extern void는 사용하게 될 인터럽트의 명칭들입니다.
그리고 아래는 등록하고자 하는 코드들의 모임입니다.
extern void로 Timer0IntHandler()와 Time1IntHandler() 함수를 다음과 같이 입력한 후
아래 주석 부분에 자신이 해당 코드를 실행하고자 하는 인터럽트 부분에 함수명을 적어주면 됩니다.
이 과정을 거치신 후 프로그램을 실행하시면 인터럽트가 원활하게 동작되는 것을 확인하실 수 있습니다.
'임베디드 > TI' 카테고리의 다른 글
[Tiva] I2CMasterControl() (0) | 2014.08.25 |
---|---|
[Tiva] tm4c 시리즈 MCU로 TextLCD(CLCD) 동작 (0) | 2014.08.21 |
[Tiva] I2CMasterSlaveAddrSet() (0) | 2014.08.01 |
[Tiva] TM4C의 I2C 통신 파형 보는 방법 (4) | 2014.07.28 |
[Tiva] TM4C 시리즈에서 외부인터럽트 구현 (12) | 2014.07.26 |
설정
트랙백
댓글
글
진동모터 연결선이 빠졌을 때 대처법
열심히 작동하던 진동모터가 지속되던 진동으로 인해 연결선 끝부분이 쏙 하고 빠져버리는 대참사가 벌어졌습니다.
처음에는 어떻게 해야할지 잠시 당황했으나 다시 대처 방법을 공부한 후 이를 고쳐보기로 하였습니다.
보시는 대로 진동모터의 끝부분이 참혹하게 빠져버렸습니다.
그나미 끝 부분에 빠져나간 선의 일부가 약간이나마 남아서 다시 연결 할 수 있을 듯 합니다.
우선 잘려나간 부분의 끝을 칼로 살살 도려냅니다.
계속 까다보면 잘려나간 틈으로 전선이 살짝 남는 것을 보실 수 있습니다.
까진 부분에 잽싸게 선을 연결한 후 납으로 때워버립니다.
드디어 성공!
끝부분이 다시 떨어지지 않도록 글루건으로 완전히 고정시켜 버립니다.
조금 멋이 떨어지지만 아무튼 동작이 잘 되는 것으로 보아 성공한 듯 합니다.
다음은 이러한 참사가 다시 벌어지지 않도록 진동모터 끝부분을 확실히 마무리 하는 작업에 들어갑니다.
진동모터를 고정시킬 PCB판을 잘라냅니다.
휘어지는 PCB판을 사용하시면 좀 더 유연하게 사용하실 수 있습니다.
PCB판에 진동모터 끝부분을 납땜합니다.
이로서 진동모터의 짫은 선 문제는 해결되었습니다.
글루건으로 납땜한 부분을 마무리하면 어떤 상황에서도 진동모터를 무사히(?) 사용하실 수 있습니다!
'임베디드' 카테고리의 다른 글
동영상으로 보는 엔코더의 작동 원리 (0) | 2019.12.16 |
---|---|
[로터리 엔코더] 엔코더의 작동 원리 및 사용 방법 (42) | 2016.07.31 |
파워서플라이로 모듈 사용시 주의사항 (0) | 2014.08.02 |
설정
트랙백
댓글
글
파워서플라이로 모듈 사용시 주의사항
매번 파워서플라이를 만지면서도 아차 하는 실수로 모듈 하나가 타버리는 실수를 해버렸습니다. 파워서플라이를 옮기던 중 눈금이 돌아가 있던 듯 한데 수치를 보지 않고 그냥 모듈에 연결해 버린것이 화근이었던 듯 합니다.
이렇게 모듈이 타버려 두 번 다시 사용할 수 없는 상황이 되어버린다면 정말 마음아프지 않을 수 없습니다. 특히 고가격의 모듈이라면 스트레스가 상당할 겁니다.
임베디드 분야를 공부하시는 분들이라면 매우 기본적인 상식이기도 하지만 순간의 실수로 비싼 모듈을 망가뜨릴 위험이 있습니다. 원숭이도 나무에서 떨어질 때가 있듯이 말이지요. 파워서플라이를 사용할 때 마다 다음과 같은 수칙을 확인하고 사용하도록 합시다.
1. 파워서플라이를 켜기 전 가급적이면 모듈과 분리시킨 후 키도록 합니다.
2. 모듈에 파워서플라이를 연결하기 전, 파워서플라이가 해당 모듈의 정격전압에 맞는지 확인합니다.
3. 모듈에서 이상이 발생시 즉시 파워서플라이로부터 모듈을 떼어내 버립니다.
4. 파워서플라이를 사용 후 반드시 전원을 끄도록 합니다.
'임베디드' 카테고리의 다른 글
동영상으로 보는 엔코더의 작동 원리 (0) | 2019.12.16 |
---|---|
[로터리 엔코더] 엔코더의 작동 원리 및 사용 방법 (42) | 2016.07.31 |
진동모터 연결선이 빠졌을 때 대처법 (0) | 2014.08.08 |