Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 16.11.2019, 16:42  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от индюк Посмотреть сообщение
a››=16;
Ты не заработался?
a››=4;
Реклама:
sat_art вне форума  
Непрочитано 16.11.2019, 16:44  
Murka-MakMur
Вид на жительство
 
Аватар для Murka-MakMur
 
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
Murka-MakMur на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от индюк Посмотреть сообщение
не взять ли тебе учебник по си в руки дане почитать бы пару месяцев??
Ох! Память уже не та, не получается, читаю кусками по мере необходимости.
Сообщение от индюк Посмотреть сообщение
a››=16;
Сообщение от sat_art Посмотреть сообщение
a››=4;
Error[Pe029]: expected an expression
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
Murka-MakMur вне форума  
Непрочитано 16.11.2019, 16:47  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Murka-MakMur, зачем тебе единичка?
if (a) {если не ноль}else{если ноль}
Зачем лишняя операция?

uint8_t a=(TIM1-›CR1 & TIM_CR1_DIR)››4;

все, если нужна именно 1.
uint8_t правильней заменить на uint32_t. Так как регистр 32 битный. Но работать должно и так. 3 байта экономится.

Последний раз редактировалось sat_art; 16.11.2019 в 16:50.
sat_art вне форума  
Непрочитано 16.11.2019, 16:52  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,669
Сказал спасибо: 188
Сказали Спасибо 3,188 раз(а) в 2,066 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от sat_art Посмотреть сообщение
Но работать должно и так. 3 байта экономится.
а время на извлечения 1 байта из 32битного регистра????
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 16.11.2019, 16:53  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,669
Сказал спасибо: 188
Сказали Спасибо 3,188 раз(а) в 2,066 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от sat_art Посмотреть сообщение
Ты не заработался?
a››=4;
заработался.
если человек не совсем нуб то раскурит
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 16.11.2019, 16:55  
Murka-MakMur
Вид на жительство
 
Аватар для Murka-MakMur
 
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
Murka-MakMur на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от sat_art Посмотреть сообщение
Зачем лишняя операция?
Хотелось switch
Сообщение от sat_art Посмотреть сообщение
uint8_t a=(TIM1-›CR1 & TIM_CR1_DIR)››4;
Длинная операция для прерывания, НО работает!, подумаю что можно сделать, а может и не длинная, нужно asm глянуть.
Спасибо!
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
Murka-MakMur вне форума  
Непрочитано 02.12.2019, 21:44  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,629
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Второй вечер бьюсь с передачей данных по SPI (STM32F103) с использованием DMA. Парадокс: прерывание по окончании передачи DMA срабатывает, а в SPI я ничего не вижу!
Инициализация:
Код:
void spi_setup(){
    GPIOA-›CRL |= CRL(5, CNF_AFPP|MODE_FAST) | CRL(7, CNF_AFPP|MODE_FAST);
    RCC-›APB2ENR |= RCC_APB2ENR_SPI1EN;
    SPI1-›CR1 = SPI_CR1_MSTR | SPI_CR1_BR_0; /* (1) */
    SPI1-›CR2 = SPI_CR2_TXDMAEN; /* (2) */
    SPI1-›CR1 |= SPI_CR1_SPE; /* (3) */
    RCC-›AHBENR |= RCC_AHBENR_DMA1EN;
    DMA_SPI_Channel-›CPAR = (uint32_t)&(SPI1-›DR); /* (5) */
    DMA_SPI_Channel-›CCR |= DMA_CCR_MINC | DMA_CCR_DIR | DMA_CCR_TCIE; /* (7) */
    NVIC_SetPriority(DMA1_Channel3_IRQn, 0);
    NVIC_EnableIRQ(DMA1_Channel3_IRQn);
    SPI_status = SPI_READY;
}
Передача данных:
Код:
uint8_t SPI_transmit(uint8_t *buf, uint8_t len){
    SPI1-›CR1 |= SPI_CR1_SPE;
    if(!buf || !len) return 1; // bad data format
    if(SPI_status != SPI_READY) return 2; // spi not ready to transmit data
    DMA_SPI_Channel-›CCR &=~ DMA_CCR_EN;
    DMA_SPI_Channel-›CPAR = (uint32_t)&(SPI1-›DR);
    DMA_SPI_Channel-›CMAR = (uint32_t)buf;
    DMA_SPI_Channel-›CNDTR = len;
    SPI_status = SPI_BUSY;
    DMA_SPI_Channel-›CCR |= DMA_CCR_EN;
    return 0;
}
И прерывание:
Код:
void dma1_channel3_isr(){
  if(DMA1-›ISR & DMA_ISR_TCIF3){
    DMA1-›IFCR |= DMA_IFCR_CTCIF3; /* Clear TC flag */
    SPI_status = SPI_READY;
  }
}
Какого-то черта прерывание срабатывает, но ни в SPI нет данных, ни на ноге PA6 (т.к. прием мне не нужен, я ее использую как GPIO).
Пробовал BIDIMODE|BIDIOE. То же самое.

ЧЯДНТ?
__________________
Союз Советских Социалистических Округов Северной Америки

Последний раз редактировалось eddy; 02.12.2019 в 21:48.
eddy вне форума  
Непрочитано 02.12.2019, 21:54  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,669
Сказал спасибо: 188
Сказали Спасибо 3,188 раз(а) в 2,066 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

на осциллографе нет импульсов или что?
__________________
кагмаподэ магмаподэ

Последний раз редактировалось индюк; 02.12.2019 в 21:56.
индюк вне форума  
Непрочитано 02.12.2019, 22:07  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,629
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Да, на осциллографе нет импульсов. Ни на SCK, ни на MOSI.
Воткнул в основной цикл (туда, где светодиод каждые 0.5с мыргает):
Код:
if(SPI1-›SR & SPI_SR_TXE){
                SPI1-›CR1 |= SPI_CR1_SPE;
                *(uint8_t *)&(SPI1-›DR) = 0xf0;
                USB_send("sent\n");
            }
В итоге каждые 0.5с вижу надпись "sent" в терминале, но на осциллографе фигвам!
__________________
Союз Советских Социалистических Округов Северной Америки

Последний раз редактировалось eddy; 02.12.2019 в 22:12.
eddy вне форума  
Непрочитано 02.12.2019, 22:22  
dgrishin
Почётный гражданин KAZUS.RU
 
Регистрация: 12.02.2013
Сообщений: 1,038
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
dgrishin на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от eddy Посмотреть сообщение
но на осциллографе фигвам!
Вы включили тайминг для GPIOA ??
dgrishin вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 13:17.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot