26.02.2012, 00:30
|
#1301
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
в том посте нет ничего конкретного. ждемс...
|
|
|
|
26.02.2012, 00:53
|
#1302
|
Частый гость
Регистрация: 30.10.2011
Сообщений: 28
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Перенес софтовый SPI на ноги аппаратного.
Код:
|
GPIOB-›CRH |= GPIO_CRH_MODE15; // Вывод DI PB.15 выход.
GPIOB-›CRH &=~GPIO_CRH_CNF15;
GPIOB-›CRH |= GPIO_CRH_MODE13; // Вывод CLK PB.13 выход
GPIOB-›CRH &=~GPIO_CRH_CNF13;
GPIOB-›CRH &=~GPIO_CRH_MODE14; // Вывод DO PB14 вход
GPIOC-›CRL |= GPIO_CRL_MODE5; // Вывод CS PC.5 выход
GPIOC-›CRL &=~GPIO_CRL_CNF5;
GPIOB-›CRL &=~GPIO_CRL_MODE4; // вывод PB4 вход
GPIOB-›CRL &=~GPIO_CRL_MODE5; // Вывод PB5 вход |
Код:
|
/*-----------------------------------------------------------------------*/
/* Transmit a byte to MMC via SPI (Platform dependent) */
/*-----------------------------------------------------------------------*/
void xmit_spi(unsigned char data)
{
unsigned char i;
for (i=0;i‹8;i++) //Перебор битов
{
if ((data&0x80)==0x00)
{
GPIOB-›ODR &=~0x8000; //Выставить бит
}
else GPIOB-›ODR|=0x8000;
data=data‹‹1;
GPIOB-›ODR |=0x2000; //Импульс sck
GPIOB-›ODR &=~0x2000;
}
/*
while (SPI2-›SR & SPI_SR_BSY);
while (!(SPI2-›SR & SPI_SR_TXE));
SPI2-›DR = data;
*/
}
/*-----------------------------------------------------------------------*/
/* Receive a byte from MMC via SPI (Platform dependent) */
/*-----------------------------------------------------------------------*/
static
BYTE rcvr_spi (void)
{
unsigned char i, res=0;
for(i=0;i‹8;i++)
{
GPIOB-›ODR |=0x2000; //поднять sck
res=res‹‹1;
if ((GPIOB-›IDR&0x4000)!=0x00) res=res|0x01; //считать бит
GPIOB-›ODR &=~0x2000; //опустиь sck
}
/*
while (!(SPI2-›SR & SPI_SR_RXNE)) {SPI2-›DR = 0xff;};
res = SPI2-›DR;
*/
return res ;
} |
Работает на скорости около 850 кбит. Синим закоментил аппаратный SPI
|
|
|
|
27.02.2012, 12:20
|
#1303
|
Прописка
Регистрация: 09.12.2003
Сообщений: 116
Сказал спасибо: 5
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Sergi_alc
|
Перенес софтовый SPI на ноги аппаратного.
Работает на скорости около 850 кбит. Синим закоментил аппаратный SPI
|
Ну теперь надо софтовый таймер сбацать !
|
|
|
|
27.02.2012, 14:38
|
#1304
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
PlainUser
Sergi_alc открой для себя регистры BSRR, улучши софтовый SPI
|
|
|
|
27.02.2012, 14:48
|
#1305
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Код:
|
void PIN_ON(GPIO_TypeDef * GPIOx,u16 PINx)
{
GPIOx-›BSRR=PINx;
//GPIOx-›ODR=GPIOx-›IDR|(PINx);
}
void PIN_OFF(GPIO_TypeDef * GPIOx,u16 PINx)
{
GPIOx-›BRR=PINx;
//GPIOx-›ODR=GPIOx-›IDR&(~(PINx));
} |
Так, для общего развития.
Последний раз редактировалось Easyrider83; 27.02.2012 в 16:08.
|
|
|
|
27.02.2012, 19:47
|
#1306
|
Прописка
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Easyrider83
|
Код:
|
void PIN_ON(GPIO_TypeDef * GPIOx,u16 PINx)
{
GPIOx-›BSRR=PINx;
//GPIOx-›ODR=GPIOx-›IDR|(PINx);
}
void PIN_OFF(GPIO_TypeDef * GPIOx,u16 PINx)
{
GPIOx-›BRR=PINx;
//GPIOx-›ODR=GPIOx-›IDR&(~(PINx));
} |
Так, для общего развития.
|
Предпочитаю с дефайнами работать...
А в таком случае компилер сделает их аля инлайн???
|
|
|
|
27.02.2012, 19:57
|
#1307
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Ну добавьте туда инлайн. Делов-то. Что дефайн, что инлайн дадут одинаковую картину.
|
|
|
|
27.02.2012, 22:44
|
#1308
|
Прописка
Регистрация: 08.10.2009
Сообщений: 101
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
|
|
|
|
27.02.2012, 23:51
|
#1309
|
Заблокирован
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Нет там особых преимуществ...
|
|
|
|
27.02.2012, 23:52
|
#1310
|
Заблокирован
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Easyrider83
|
Что дефайн, что инлайн дадут одинаковую картину.
|
Одна маслом, другая акварелью... Не будет одинаковой картины...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:23.
|
|