例程-双核
案例-LED1&2 闪烁
// CPU0
#include "zf_common_headfile.h"
#pragma section all "cpu0_dsram"
#define LED1 P20_8
int core0_main(void)
{
clock_init(); // 获取时钟频率<务必保留>
debug_init(); // 初始化默认调试串口
// 此处编写用户代码 例如外设初始化代码等
gpio_init(LED1, GPO, GPIO_HIGH, GPO_PUSH_PULL);
// 此处编写用户代码 例如外设初始化代码等
cpu_wait_event_ready(); // 等待所有核心初始化完毕
while (TRUE)
{
// 此处编写需要循环执行的代码
gpio_toggle_level(LED1);
system_delay_ms(200);
// 此处编写需要循环执行的代码
}
}
#pragma section all restore
// CPU1
#include "zf_common_headfile.h"
#pragma section all "cpu1_dsram"
#define LED2 P20_9
void core1_main(void)
{
disable_Watchdog(); // 关闭看门狗
interrupt_global_enable(0); // 打开全局中断
// 此处编写用户代码 例如外设初始化代码等
gpio_init(LED2, GPO, GPIO_HIGH, GPO_PUSH_PULL);
// 此处编写用户代码 例如外设初始化代码等
cpu_wait_event_ready(); // 等待所有核心初始化完毕
while (TRUE)
{
// 此处编写需要循环执行的代码
gpio_toggle_level(LED2);
system_delay_ms(300);
// 此处编写需要循环执行的代码
}
}
#pragma section all restore