나는이 PIC18F46K22을 하고 XC8 컴파일러로 프로그램. 결국, 내가 가진 PC와 같은 시스템해야합니다 stdin
및 stdout
. 메인 루프에는 새로운 입력이 있는지 확인하는 기능이 있습니다. 입력이 있으면 그에 따라 함수가 호출됩니다. 예를 들어 A on을 입력 stdin
하면 PIC는 B를 입력 할 때 호출되는 function_A
대신 함수를 실행 function_B
합니다.
PIC가 함수로 완료되면 새 입력이 함수로 전송되기를 원합니다. 따라서 A를 누르면 RS232 송신기가 열리고 그 순간부터 모든 입력이 RS232를 통해 전송됩니다. 결국 프로젝트는 독립형 텍스트 편집기입니다. 따라서 A를 누르면 파일 시스템이 열리고, 그 순간부터 텍스트 편집이 아닌 파일 목록을 살펴 봅니다. 즉, 위와 아래를 누르는 것은 텍스트 편집 환경과 다른 것을 의미합니다.
나는 이것을 C로 프로그래밍하는 방법에 대해 많은 생각을했다. 나는 지난 밤에 이것을 생각했고 그것이 가능하고 가능하다면 어떻게 알고 싶다. 내가하고 싶은 것은 :
- 이
main
함수는 다음과 같은 함수를 호출합니다.function_A
function_A
전역 변수function_addr
를 함수의 주소 포인터로 변경in_function_A
- 그때부터 새로운 입력이있을 때
main
함수를 호출합니다function_addr
.
그래서 필요한 것은 0 main
인지 확인 하는 함수입니다 function_addr
. 그렇다면 '정상적인'함수를 호출해야합니다 function_A
. 그렇지 않으면 at 함수를 function_addr
호출해야합니다. 또한를 포인터로 function_A
변경 해야합니다 .function_addr
in_function_A
참고 : 파일 시스템 기능을 닫아야 하는 경우 0으로 is_function_A
변경해야합니다 function_addr
.
기본적으로 내 질문은 어떻게
- 함수의 주소를 가져 와서 변수에 저장
- 지정된 주소에서 함수 호출