Ti 의 C28x 시리즈 DSP 사용 경험, DSP 에서 실행 되 는 함 수 를 어떻게 통합 합 니까?
1702 단어 DSP 사용 경험 치
공사 파일 의 분포 에 있어 서 저 는 DSP 가 실행 해 야 하 는 코드 를 하나의. C 파일 에 두 고 관리 해 야 한다 고 생각 합 니 다. 그러면 전체 공사 의 코드 구조 가 매우 뚜렷 하고 문 제 를 찾 아 도 쉽게 포 지 셔 닝 할 수 있 습 니 다.이. C 는 UsrApp. C 라 고 할 수 있 습 니 다. 4 개의 함수, 초기 화 함수, 주 인 터 럽 트 함수, 1ms 타이머 인 터 럽 트 함수, 주 순환 함 수 를 포함 합 니 다.
코드 는 다음 과 같 습 니 다:
#include "Serve.h"
#include
#include
#ifdef FLASH
#pragma CODE_SECTION(MainInt,"ramfuncs")
#pragma CODE_SECTION(StdLoop,"ramfuncs")
#endif
void UsrAppInit(void) //
{
}
void MainInt(void) //
{
}
void StdLoop(void) //1ms
{
}
void MainLoop(void) //
{
}
이렇게 하면 다른 c 파일 에 있 는 함수 가 직접 extern 이 고 수요 에 따라 이 네 함수 에 넣 으 면 됩 니 다.
1. 함수 초기 화 는 할 말 이 없습니다.
void UsrAppInit(void) //
2. 주 인 터 럽 트 함수
일반적으로 PWM 의 CMPC 로 촉발 되 는 인 터 럽 트, 인 터 럽 트 주파 수 는 PWM 의 주파수 이 며, 또 제 가 습관 적 으로 사용 하 는 것 이 있 습 니 다. PWM 은 ADC 변환 을 시작 하고 ADC 변환 이 완 료 된 후에 인 터 럽 트 를 촉발 합 니 다. 이 메 인 인 인 인 터 럽 트 주파수 도 PWM 주파수 입 니 다.
이 메 인 인 인 터 럽 트 함 수 는 보통 실시 간 요구 가 높 은 함 수 를 넣 습 니 다. 저 는 전력 전자 업 계 를 하 는데 보통 데이터 수집, 고장 보호, 알고리즘, PWM 방출 등 함 수 를 여기에 넣 습 니 다.
void MainInt(void) //
3. 1ms 타이머 인 터 럽 트 함수
이 함 수 는 타이머 에 의 해 작 동 됩 니 다. 보통 통신 함 수 를 넣 습 니 다. 이런 통신 함 수 는 보통 폴 링 입 니 다. 일정한 시간 마다 폴 링 을 해서 데 이 터 를 받 거나 데 이 터 를 보 내 는 지 확인 합 니 다.
void StdLoop(void) //1ms
4. 주 순환 함수
일반적으로 매개 변수 설정 이나 디 스 플레이 등 실시 간 요구 가 높 지 않 은 함 수 를 넣 습 니 다.
void MainLoop(void) //