Важная информация

User Tag List

Страница 12 из 28 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя
Показано с 111 по 120 из 280

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

  1. #111

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

    По умолчанию

    Цитата Сообщение от dosikus Посмотреть сообщение
    Суть - сдвигаем значение АФ на позицию пина, а позиция кратна 4ке ...
    Я так и обозначил для себя эту формулу, чтобы упростить жизнь. 4 - размер "декады", 1 или 2 - номер пина (начиная с нуля), 7 - значение, которое пишем туда.

    ---------- Post added at 16:39 ---------- Previous post was at 16:31 ----------

    Сюда я залил библиотеку для WH1602.
    Она настроена для STM32L152, но можно заточить под другие камни, даже АВР.
    Настройки, оставленные по дефолту -
    PORTB10..15, RS,E,D4,D5,D6,D7
    Клок - 16Мгц.
    В инклюдах головного добавляем - mac.h и hd44780.h.
    Пины порта инициализируются при lcd_init(), дополнительно прописывать не надо.
    Инструкция и источник - http://makesystem.net/?p=2128
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

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

  2. #112

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

    По умолчанию

    Ewgeny7,
    Код:
    typedef unsigned char    		int8u_t;
    typedef signed char      		int8s_t;
    typedef unsigned short   		int16u_t;
    typedef signed short     		int16s_t;
    typedef unsigned long    		int32u_t;
    typedef signed long      		int32s_t;
    Лучше придерживаться стандартных уже :


    int8_t;
    int16_t;
    int32_t;
    int64_t;


    uint8_t;
    uint16_t;
    uint32_t;
    uint64_t;


    Keil их знает . И определены они в <stdint.h>.
    Угловые скобки для поиска в системных директориях компилятора.
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

  3. #113

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

    По умолчанию

    Цитата Сообщение от dosikus Посмотреть сообщение
    Лучше придерживаться стандартных уже
    Это не я писал, но раз Кейл их проглотил, значит можно пока не заморачиваться
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

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

  4. #114

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

    По умолчанию

    Добавляем в инит USART'а :
    Код:
       USART1->CR1 |= USART_CR1_TE |USART_CR1_RE|USART_CR1_RXNEIE; // 
       
    			
          NVIC_SetPriority(USART1_IRQn, 0); 
          NVIC_EnableIRQ(USART1_IRQn);
    USART_CR1_RXNEIE разрешение прерывание от приемника.

    NVIC_SetPriority() установка приоритета прерывания
    NVIC_EnableIRQ() разрешение прерывания , в нашем случае от USART1
    Эти функции входят в CMSIS-CORE, так что не SPL.

    Описываем обработчик (хэндлер) прерывания от USART1 .
    Код:
    void USART1_IRQHandler(void)
    {
    	uint8_t buff;
    	if(USART1->SR & USART_SR_RXNE)
    	{
    	  buff = (uint8_t)(USART1->DR); /* Receive data, clear flag */
            
    	}
    }
    Для отладки можно копировать переменную buff в глобальную переменную , и добавить эту глобальную переменную в Watch ...
    Последний раз редактировалось dosikus; 05.05.2014 в 11:53.
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

  5. #115

    Регистрация
    18.07.2010
    Адрес
    Ульяновск
    Сообщений
    852
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    dosikus, а случаем на сталкивался с каскадированием таймеров применительно к F100, F101?

    ---------- Post added at 12:01 ---------- Previous post was at 11:58 ----------

    И какую макс. частоту можно подавать на внешнее тактирование таймера?

  6. #116

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

    По умолчанию

    alx32, В 100 и 101 ХЗ , а на 103ем частотомер на 150МГц изобразили
    И ограничилось все ленью...

    Собственно ноги растут отсюда http://radiokot.ru/forum/viewtopic.p...D1%80&start=20

    http://radiokot.ru/forum/viewtopic.p...D1%80&start=20
    см. Посты HHIMERA, все остальное вода...
    Последний раз редактировалось dosikus; 05.05.2014 в 13:56.
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

  7. #117

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

    По умолчанию

    Цитата Сообщение от dosikus Посмотреть сообщение
    Добавляем в инит USART'а
    Спасибо!
    Я примерно так всё и сделал, только приоритет не выставлял.
    А если используется несколько прерываний, то последнее объявление с нулевым приоритетом "сдвигает" все остальные вниз?

    Наковырявшись с пинами досыта, прописал это -
    #define EN(x,y) ((x)->BSRRL = 1<<(y))
    #define DIS(x,y) ((x)->BSRRH = 1<<(y))

    и сразу стало просторнее в коде
    А также вынес модули инициализации RCC, USART, TIM2 в отдельные файлики-хэдеры, стало совсем хорошо.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

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

  8. #118

    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,777
    Спасибо Благодарностей отдано 
    554
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    138 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не знаю, как правильно именно в Keil, я короткие (в одну строку) пишу так:

    Код:
    // настроим порт на вывод
    А большие, в несколько строк, так:

    Код:
    /*
      Однажды в студеную зимнюю пору
      Я из лесу вышел
    */

  9. #119

    Регистрация
    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"

  10. #120

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

    По умолчанию

    Перелопатил библиотеку для дисплейчика Нокиа-3310.
    Была для STM8 IAR, стала для STM32 Keil



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

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

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

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

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

Эту тему просматривают: 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

Ваши права

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