TC387 vi khống chế khí thị TI ( đức châu nghi khí ) thôi xuất đích nhất khoản cao tính năng, đê công háo đích 32 vị ARM Cortex-M4F xử lý khí. MCAL ( Microcontroller Abstraction Layer ) thị TI đề cung đích nhất chủng dụng vu giản hóa vi khống chế khí biên trình đích khố, tha tương để tằng ngạnh kiện trừu tượng thành dịch vu sử dụng đích API.
Yếu phối trí hỗ bổ PWM ( Complementary PWM ), ngã môn nhu yếu án chiếu dĩ hạ bộ sậu thao tác:
1. Thủ tiên, xác bảo nhĩ dĩ kinh an trang liễu TI đích nhuyễn kiện công cụ liên, như Code Composer Studio ( CCS ).
2. Đả khai nhĩ đích hạng mục, trảo đáo MCAL khố đích phối trí văn kiện. Thông thường, giá cá văn kiện vị vu hạng mục đích mỗ cá mục lục hạ, lệ như: ` /ti/am335x/mcal/pwm.h`.
3. Tại `pwm.h` văn kiện trung, trảo đáo PWM mô khối đích phối trí bộ phân. Giá lí hội định nghĩa PWM mô khối đích thời chung, thông đạo đẳng tham sổ. Lệ như:
```c
#define PWM_CLOCK_FREQ_HZ 200000000
#define PWM_PERIOD (PWM_CLOCK_FREQ_HZ / 1000)
#define PWM_DUTY_CYCLE (PWM_PERIOD / 2)
```
4. Yếu phối trí tam lộ hỗ bổ PWM thâu xuất, nhĩ nhu yếu xác bảo PWM mô khối chi trì chí thiếu tam cá thông đạo. Tại `pwm.h` văn kiện trung, trảo đáo thông đạo phối trí bộ phân, lệ như:
```c
#define PWM_NUM_CHANNELS 3
```
5. Tiếp hạ lai, trảo đáo PWM sơ thủy hóa hàm sổ, lệ như `pwm_init()`. Tại giá cá hàm sổ trung, nhĩ nhu yếu phối trí PWM mô khối đích thời chung, thông đạo đẳng tham sổ. Lệ như:
```c
void pwm_init(void)
{
// phối trí PWM thời chung, thông đạo đẳng tham sổ
}
```
6. Tại `pwm_init()` hàm sổ trung, điều dụng MCAL đề cung đích API lai phối trí PWM mô khối. Lệ như:
```c
void pwm_init(void)
{
pwmClockFreqSet(PWM_CLOCK_FREQ_HZ);
pwmPeriodSet(PWM_PERIOD);
pwmDutyCycleSet(PWM_DUTY_CYCLE);
pwmModuleEnable();
}
```
7. Hiện tại, nhĩ khả dĩ sử dụng MCAL đề cung đích API lai khống chế PWM thâu xuất. Lệ như, yếu thiết trí mỗ cá thông đạo đích chiêm không bỉ, khả dĩ sử dụng `pwmDutyCycleSet()` hàm sổ:
```c
void set_pwm_duty_cycle(uint32_t channel, uint32_t duty_cycle)
{
pwmDutyCycleSet(channel, duty_cycle);
}
```
8. Tối hậu, tại chủ hàm sổ trung điều dụng `pwm_init()` hàm sổ lai sơ thủy hóa PWM mô khối, tịnh sử dụng `set_pwm_duty_cycle()` hàm sổ lai thiết trí sở nhu đích chiêm không bỉ.
Thỉnh chú ý, giá lí đề cung đích đại mã kỳ lệ cận cung tham khảo. Cụ thể đích API danh xưng hòa tham sổ khả năng hội nhân MCAL bản bổn hòa ngạnh kiện bình đài nhi hữu sở bất đồng. Kiến nghị tra duyệt TI đề cung đích MCAL văn đương hòa kỳ lệ đại mã, dĩ hoạch thủ canh tường tế đích tín tức.
|
|
|
|
|