DMA_TCD1_BITER_ELINKNO = 100;
DMA_TCD1_CSR = 0;
DMA_TCD1_CSR &= ~DMA_CSR_INTMAJOR_MASK;
DMA_TCD1_CSR |= DMA_CSR_DREQ_MASK;
DMA_ERQ |= (1 << 1);//启动
}
int main(void)
{
int i;
MCG_Init();
dma0_init();
dma1_init();
UART_Init();
for(i=0;i<100;i++)
{
uart_tx.buf[i] = i;
uart_rx.buf[i] = 0;
}
uart_tx.index = 1;
uart_rx.index = 0;
printf("Hello (Kinetis) World in 'C' from MK60DX256Z derivative! nr");
UART5_C2 |= 1<<3;
for(;;)
{
}
return 0;
}
void dam0_isr(void)
{
static unsigned char cnt=0;
DMA_INT = 0x1; // clear dma int flag
cnt++;
MEMSet(uart_tx.buf,cnt,100);
DMA_TCD0_SADDR = (unsigned long)&uart_tx.buf[0];//DMA源地址
DMA_ERQ |= (1 << 0);//启动
//与UART接收对应的DMA1未使用中断,在这里也同时对其重设目的地址并启动
DMA_TCD1_DADDR = (unsigned long)&uart_rx.buf[0];
DMA_ERQ |= (1 << 1);//启动
}
将“kinetis_sysinit.c”的“__vect_table”中16号中断“(tIsrFunc)UNASSIGNED_ISR”换成“(tIsrFunc)dam0_isr”
本文关键字:暂无联系方式源码-程序,单片机-工控设备 - 源码-程序
上一篇:对stc片内eeprom的测试