User Tag List

Страница 8 из 28 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 280

Тема: Микроконтроллеры STM32, "с нуля".

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    29.03.2005
    Адрес
    Ярославль
    Сообщений
    1,102
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    TIM2->PSC = 16000 -1UL;
    TIM2->ARR = 1000 -1UL;
    http://www.st.com/st-web-ui/static/a...DM00042534.pdf
    И не забывай о приоритетах прерываний .

    ---------- Post added at 12:06 ---------- Previous post was at 11:48 ----------

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    TIM2->DIER = TIM_DIER_UIE; // Включим прерывания от события update. Т.е., по достижению счета до ARR, происходит апдейт счетчика, и это событие инициирует прерывание.
    А события, Event, могут использоваться для пинков другой периферии - например DMA . В итоге получаем автоматически работающую, не тормозящую юзер_код периферию.
    Например выхлоп буфера в порт, SPI, UART . Юзер_код заполняет буфер , периферия самостоятельно его выплевывает ...
    Последний раз редактировалось dosikus; 29.04.2014 в 12:09.
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    dosikus, спасибо, поправил!

    ---------- Post added at 12:21 ---------- Previous post was at 12:20 ----------

    Цитата Сообщение от dosikus Посмотреть сообщение
    Например выхлоп буфера в порт, SPI, UART
    Насчет UART.
    Как раз его ковыряю.
    Без SPL это харакири какой-то...
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  4. #3

    Регистрация
    29.03.2005
    Адрес
    Ярославль
    Сообщений
    1,102
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Насчет UART.
    Как раз его ковыряю.
    Без SPL это харакири какой-то...
    Да ну на .
    Не пройдет и получаса как ты другое скажешь .
    APBCLK меняешь на свои .

    Код:
    #define APBCLK 48000000UL
    #define BAUDRATE 115200UL

    Код:
    void Usart_init (void) 
        {
          RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
          RCC->APB2ENR|=RCC_APB2ENR_USART1EN;
          
       
    	  	                               ;
          
          GPIOA->MODER &= ~( GPIO_MODER_MODER10 |GPIO_MODER_MODER9);
          GPIOA->MODER |=   GPIO_MODER_MODER10_1 |GPIO_MODER_MODER9_1; 
        
          GPIOA->AFR[1] |=(7<<(4*1)) |(7<<(4*2));
          USART1->BRR =(APBCLK+BAUDRATE/2)/BAUDRATE; //usart
          USART1->CR1 |= USART_CR1_TE |USART_CR1_RE; // USART1
          USART1->CR1 |= USART_CR1_UE; //   USART1    
    
              
        }
        
     void Transmit(uint8_t Data)
    {
      while(!(USART1->ISR & USART_ISR_TC));
      USART1->TDR = Data;
    }


    ---------- Post added at 14:43 ---------- Previous post was at 14:27 ----------

    Запустишь, прием устроим на прерываниях..
    Последний раз редактировалось dosikus; 29.04.2014 в 15:29.
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

  5. #4

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Эх... поздновато.
    Завтра на работе буду проверять.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  6. #5

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    если честно, ничего не понимаю из того, что вы пишете.
    Не боИсь, прорвемся
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  7. #6

    Регистрация
    29.03.2005
    Адрес
    Ярославль
    Сообщений
    1,102
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    О трудностях смд монтажа ...

    Воздушный монтаж на скорую руку .






    http://youtu.be/YekS6kWs4PQ
    Планшет снимает дерьмово, в жизни все интересней...


    Код:
    #include <stm32f05x.h>
    
    		static volatile uint32_t TimingDelay;
    	  static volatile uint32_t TimerCntDN;
    		static volatile uint32_t TimeOut;
    
    
    /* Delay & timers */
    		void SysTick_Handler(void) {
    			if (TimingDelay) {
    				TimingDelay--;
    			}
    			if (TimerCntDN) {
    				TimerCntDN--;
    			}
    			if (TimeOut) {
    				TimeOut--;
    			}
    
    		}
    
    
    		void Delay_mS(uint32_t nTime) {
    			TimingDelay = nTime;
    
    			while (TimingDelay);
    		}
    
    /* main loop */
    
    int main (void)
    {
    
      uint16_t i;
      SysTick_Config(SystemCoreClock /1000);
      RCC->AHBENR |= RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN;
      RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;
    
      GPIOA->MODER &= ~GPIO_MODER_MODER15|GPIO_MODER_MODER0;
      GPIOA->MODER |= GPIO_MODER_MODER15_1 | GPIO_MODER_MODER0_0;
      GPIOB->MODER &= ~(GPIO_MODER_MODER3 | GPIO_MODER_MODER10 | GPIO_MODER_MODER11);
      GPIOB->MODER |= ( GPIO_MODER_MODER3_1 | GPIO_MODER_MODER10_1 | GPIO_MODER_MODER11_1);
    
      GPIOA->AFR[1] |= (2<<(4*7));
      GPIOB->AFR[0] |= (2<<(4*3));
      GPIOB->AFR[1] |= (2<<(4*2))|(2<<(4*3));
    
      GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR15 | GPIO_OSPEEDER_OSPEEDR0;
      GPIOB->OSPEEDR |= (GPIO_OSPEEDER_OSPEEDR3 | GPIO_OSPEEDER_OSPEEDR10 | GPIO_OSPEEDER_OSPEEDR11);
    
      TIM2->PSC = 160-1;
      TIM2->ARR = 1000-1;
      TIM2->CCR1 = 70; // Pulse_Output = ARR - CCR1
      TIM2->CCR2 = 30;
      TIM2->CCR3 = 10;
      TIM2->CCR4 = 5;
    
      TIM2->CCMR1 |=
                 TIM_CCMR1_OC1M_2 |
                 TIM_CCMR1_OC1M_1 |
                 TIM_CCMR1_OC1FE  |
                 TIM_CCMR1_OC2M_2 |
                 TIM_CCMR1_OC2M_1 |
                 TIM_CCMR1_OC2FE
                                ;   // canell 1-2 PWM Mode1
       TIM2->CCMR2 |=
                 TIM_CCMR2_OC3M_2 |
                 TIM_CCMR2_OC3M_1 |
                 TIM_CCMR2_OC3FE  |
                 TIM_CCMR2_OC4M_2 |
                 TIM_CCMR2_OC4M_1 |
                 TIM_CCMR2_OC4FE
                                ;   // canell 3-4 PWM Mode1
      TIM2->CCER |=
                 TIM_CCER_CC1E |
                 TIM_CCER_CC2E |
                 TIM_CCER_CC3E |
                 TIM_CCER_CC4E
                              ;
      //TIM2->BDTR |= TIM_BDTR_MOE;
    
      TIM2->CR1   |= TIM_CR1_CEN;
    
    
    	while(1)
      {
    
       for(i=0;i<800;i++)
       {
        TIM2->CCR1 = i;
         Delay_mS(1);
       }
    
       for(i=0;i<800;i++)
       {
        TIM2->CCR2 = i;
         Delay_mS(1);
       }
    
       for(i=0;i<800;i++)
       {
        TIM2->CCR3 = i;
         Delay_mS(1);
       }
    
       for(i=0;i<800;i++)
       {
        TIM2->CCR4 = i;
         Delay_mS(1);
       }
    
       for(i=800;i>0;i--)
       {
        TIM2->CCR1 = i;
         Delay_mS(1);
       }
       for(i=800;i>0;i--)
       {
        TIM2->CCR2 = i;
         Delay_mS(1);
       }
       for(i=800;i>0;i--)
       {
        TIM2->CCR3 = i;
         Delay_mS(1);
       }
       for(i=800;i>0;i--)
       {
        TIM2->CCR4 = i;
         Delay_mS(1);
       }
      }
    	return 0;
    }
    Последний раз редактировалось dosikus; 30.04.2014 в 11:48.
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

  8. #7

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а мне все никак к uartу не вернуться. На работе всё бегом, а сейчас в ёперный театр меня тащат. Интиллихенты, млин...
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  9. #8

    Регистрация
    29.03.2005
    Адрес
    Ярославль
    Сообщений
    1,102
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Viktor2312, Для твоей борды ссылка на эту тулзу здесь http://www.zx.pk.ru/showpost.php?p=706770&postcount=75

    Это скрипт exel для конфигурации тактовой , создает файл system_stm32xx.c . Где xx
    лиейка чипов. При смене значения HSE - обязательно править значение HSE и в хэдере stm32xx.h !
    Рекомендуется для изучения структуры системы тактирования на первоначальном уровне изучения .4
    Я сегодня на работе , дык что до 16.30 спрашивай ...
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

  10. #9

    Регистрация
    25.11.2007
    Адрес
    Симферополь
    Сообщений
    2,164
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Досикус приветствую.
    Столкнулся тут с необходимостью запуска USB на STM32F20х чипе.
    В общем встал вопрос с адекватным запуском прерываний для CDC которые будут класть в FIFO из USB и отправлять из другого буфера в USB.
    Интересует именно блоковая передача а на побайтовый прием как в большинстве реализаций. Блоки до 4120 байт. Компилятор обычно юзаю EWARM но думаю что это не существенно особо.
    Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
    Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
    ZX Evo 4Mb- в строю.
    Speccy2010 v1
    Специалист (пока готовлюсь к восстановлению).
    Это все мое!
    Родное!
    Все люблю на свете я! Это родина моя!

  11. #10

    Регистрация
    29.03.2005
    Адрес
    Ярославль
    Сообщений
    1,102
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Приветствую!!!!
    Я USB рыл только на 103их , да и то только кейловские примеры перелопачивал.
    Спроси у Паши http://kazus.ru/forums/showpost.php?...&postcount=134
    Он что то подобное творит...
    Последний раз редактировалось dosikus; 01.05.2014 в 14:19.
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

Страница 8 из 28 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. Ответов: 19
    Последнее: 30.09.2011, 03:08
  3. Ответов: 0
    Последнее: 15.08.2010, 14:38
  4. Ответов: 18
    Последнее: 27.08.2008, 20:27
  5. Ответов: 6
    Последнее: 20.11.2007, 11:29

Ваши права

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