19.12.2012, 10:33
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
кста, там рядом есть обзор по всем вообще
|
|
|
|
19.12.2012, 13:46
|
|
Гражданин KAZUS.RU
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 529
Сказал спасибо: 74
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Доброго времяни суток!
Посоветуйте пожалуйста, какой 32разрядный МК для начального освоения выбрать? Желательно недорогой , доступный , с доступным программатором и ПО.
Спасибо
|
|
|
|
26.12.2012, 04:49
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Теоретический вопрос. Если можно на пальцах объясните логику.
Если мы используем RTOS, среди периферии есть 2 устройства, которые делят между собой, например SPI, то как реализуют совместное использование, если есть желание процедуры работы с этими разными устройствами раскидать по разным задачам в OS ? Все обтыкать семафорами и ждать пока соседняя задача отпустит порт ?
|
|
|
|
26.12.2012, 10:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Очередь жаждующих SPI организовать. Встал в очередь. Подошла твоя очередь - поработай с девайсом; Поработал убери себя из очереди.
|
|
|
|
28.12.2012, 10:46
|
|
Вид на жительство
Регистрация: 26.07.2007
Сообщений: 483
Сказал спасибо: 18
Сказали Спасибо 107 раз(а) в 68 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Всех с наступающими праздниками!
Столкнулся вот с такой проблемой у SPI, флаг SPI_I2S_FLAG_BSY сбрасывается ДО того как завершилась транзакция. Делаю программное управление SS (несколько Slave-ов).
Конфигурация SPI:
Код:
|
SPI_InitTypeDef spiConfig;
GPIO_InitTypeDef gpioConfig;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_SPI1,ENABLE);
SPI_StructInit(&spiConfig);
spiConfig.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;
spiConfig.SPI_CPHA = SPI_CPHA_1Edge;
spiConfig.SPI_CPOL = SPI_CPOL_Low;
spiConfig.SPI_Mode = SPI_Mode_Master;
spiConfig.SPI_DataSize = SPI_DataSize_8b;
spiConfig.SPI_CRCPolynomial = 7;
spiConfig.SPI_Direction = SPI_Direction_1Line_Tx;
spiConfig.SPI_FirstBit = SPI_FirstBit_MSB;
spiConfig.SPI_NSS = SPI_NSS_Soft;
SPI_Init(SPI1,&spiConfig);
SPI_Cmd(SPI1,ENABLE);
void write(uint8_t data)
{
SPI_I2S_SendData(SPI1,data);
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE)==RESET)
;
}
void select_slave(FunctionalState state)
{
if(state == DISABLE)
{
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY)==RESET)
; // wait last transfer complete
DEVICE_E_OFF; //(поднять SS)
}else{
DEVICE_E_ON; // (опустить SS)
}
} |
Получается вот такая штука (CE - Chip enable, Выход SS):
Кусок данных не доходит до Slave-а ...
|
|
|
|
28.12.2012, 14:09
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
No comments(ибо задолбали уже)...
Код:
|
uint8_t Spi2_send (uint8_t data)
{
while (!(SPI1-›SR & SPI_SR_TXE));
SPI2-›DR = data;
while (!(SPI2-›SR & SPI_SR_RXNE));
return (SPI2-›DR);
} |
__________________
Осторожно , злой кот
|
|
|
|
28.12.2012, 14:23
|
|
Вид на жительство
Регистрация: 26.07.2007
Сообщений: 483
Сказал спасибо: 18
Сказали Спасибо 107 раз(а) в 68 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от dosikus
|
No comments(ибо задолбали уже)...
Код:
|
uint8_t Spi2_send (uint8_t data)
{
while (!(SPI1-›SR & SPI_SR_TXE));
SPI2-›DR = data;
while (!(SPI2-›SR & SPI_SR_RXNE));
return (SPI2-›DR);
} |
|
[/CODE][/QUOTE]
Спасибо, по моему у вас ошибка:
Код:
|
uint8_t Spi2_send (uint8_t data)
{
while (!(SPI1-›SR & SPI_SR_TXE));
SPI2-›DR = data;
while (SPI2-›SR & SPI_SR_RXNE);
return (SPI2-›DR);
} |
|
|
|
|
28.12.2012, 14:30
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от nerozero
|
Спасибо, по моему у вас ошибка:
|
Вот я и говорю - задолбали уже.
Ну для приличия почитайте даташит что ли. Заодно с чтением осознайте работу SPI при побайтовых посылках...
__________________
Осторожно , злой кот
|
|
|
|
28.12.2012, 14:37
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
nerozero
(попыхивая трубкой, поучительно) да, сынок, рановато тебе еще делать программное управление SS
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:40.
|
|