Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
DMA на str911не запускается...(+)
Отправлено
VM 26 февраля 2009 г. 13:11
Необходимо запустить dma на SSP на прием данных.
str911faw44, настройка SSP:
Код
SSP_DeInit(SSP0);
SSP_InitStructure.SSP_FrameFormat = SSP_FrameFormat_Motorola;
SSP_InitStructure.SSP_Mode = SSP_Mode_Master;
SSP_InitStructure.SSP_CPOL = SSP_CPOL_High;
SSP_InitStructure.SSP_CPHA = SSP_CPHA_2Edge;
SSP_InitStructure.SSP_DataSize = SSP_DataSize_8b;
SSP_InitStructure.SSP_ClockPrescaler = 4;
SSP_InitStructure.SSP_ClockRate = 59;
SSP_Init(SSP0, &SSP_InitStructure);
SSP_DMACmd(SSP0, SSP_DMA_Transmit, ENABLE);
SSP_DMACmd(SSP0, SSP_DMA_Receive, ENABLE);
SSP_Cmd(SSP0, ENABLE);
настройка DMA:
Код
DMA_DeInit();
DMA_Cmd(ENABLE);
DMA_StructInit(&DMA_InitStruct);
DMA_InitStruct.DMA_Channel_LLstItm=0;
DMA_InitStruct.DMA_Channel_SrcAdd=(u32)((&SSP0->DR));
DMA_InitStruct.DMA_Channel_DesAdd=(u32)(rdata);
DMA_InitStruct.DMA_Channel_SrcWidth= DMA_SrcWidth_Byte;
DMA_InitStruct.DMA_Channel_DesWidth= DMA_DesWidth_Byte;
DMA_InitStruct.DMA_Channel_FlowCntrl= DMA_FlowCntrl2_DMA;
DMA_InitStruct.DMA_Channel_Src = DMA_SRC_SSP0_RX;
DMA_InitStruct.DMA_Channel_TrsfSize =9;
DMA_ChannelDESIncConfig (DMA_Channel2, ENABLE);
DMA_Init(DMA_Channel2,&DMA_InitStruct);
DMA_ChannelCmd (DMA_Channel2,ENABLE);
далее передаю по SSP 9 байт и смотрю что в приемном буфере.
А там ничего. Для определения окончания приема использую опрос регистра TCRISR. Не работает. Что не так?
Составить ответ | Вернуться на конференцию.
Ответы