如题
Susan Yang:
现在是预发布状态,请您关注TI官网
xiaolong cheng:
@WH HUANG
可以把你的CC1310 UDMA使用例程分亨下吗?
WH HUANG:
回复 xiaolong cheng:
ti\tirtos_cc13xx_cc26xx_2_21_00_06\products\tidrivers_cc13xx_cc26xx_2_21_00_04\docs\doxygen\html\_u_d_m_a_c_c26_x_x_8h.html
不用TI Drivers LIB FOR TI RTOS,,,也可以查看:
C:\ti\simplelink_cc13x0_sdk_1_50_00_08\source\ti\devices\cc13x0\driverlib
UDMA.h
查看这个,很容易搞懂的;
xiaolong cheng:
回复 WH HUANG:
@WH HUANG
下面是我想用udma来进行uart的间隔发送程序,便是一直都没有调通,能指点下看是什么问题吗?
UDMACC26XX_Handle uDMAHandle;extern const UDMACC26XX_Config UDMACC26XX_config[];
void uDMA_task_init(void){ UDMACC26XX_init((UDMACC26XX_Handle) &(UDMACC26XX_config[0]));
uDMAHandle = UDMACC26XX_open();
//uDMAEnable(UDMA0_BASE); uDMAChannelEnable(UDMA0_BASE,UDMA_CHAN_UART0_TX); //uint8_t buffer[1024]; //uDMAControlBaseSet(UDMA0_BASE,buffer); uDMAChannelAttributeEnable(UDMA0_BASE, UDMA_CHAN_UART0_TX, UDMA_ATTR_ALTSELECT|UDMA_ATTR_HIGH_PRIORITY);
uDMAChannelControlSet(UDMA0_BASE, UDMA_CHAN_UART0_TX + UDMA_PRI_SELECT, UDMA_SIZE_8 | UDMA_SRC_INC_8 | UDMA_DST_INC_NONE | UDMA_ARB_8);
//uDMAChannelScatterGatherSet(UDMA0_BASE, UDMA_CHAN_UART0_TX, 7, void *pvTaskList, UDMA_MODE_PER_SCATTER_GATHER);
UARTDMAEnable(UART0_BASE, UART_DMA_TX);}
void set_dma_auto_transfer(const uint8_t *src,uint32_t len){ uDMAChannelTransferSet(UDMA0_BASE,UDMA_CHAN_UART0_TX + UDMA_PRI_SELECT, UDMA_MODE_BASIC, // on a resquest (uint8_t *)src, (uint32_t*)(UART0_BASE + UART_O_DR),len);
uDMAChannelRequest(UDMA0_BASE,UDMA_CHAN_UART0_TX);}
uint8_t uDMAbuffer[7]={0x11,0x22,0x33,0x44,0x55,0x0d,0x0a};
/***** Function definitions *****/
void *mainThread(void *arg0){ /* Open LED pins */ ledPinHandle = PIN_open(&ledPinState, pinTable); if (ledPinHandle == NULL) { while(1); }
uart_task_init();
uDMA_task_init();
while(1) { set_dma_auto_transfer(uDMAbuffer,7);
CPUdelay(10000000); }}
WH HUANG:
回复 xiaolong cheng:
看样子好像没有啥问题,使用前可以先测试一下,UART是不是配置正常,可以正常工作。。。
TI中文支持网
