Например TDA7294

Форум РадиоКот • Просмотр темы - Программирование STM8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 22:28:56

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2488 ]     ... , , , 68, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб июл 16, 2016 03:39:19 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 4
Рейтинг сообщений: 19
Зарегистрирован: Пн мар 07, 2016 15:32:57
Сообщений: 165
Откуда: Ижевск
Рейтинг сообщения: -1
Привет всем! Извините, что не по теме. Подскажите как прошить MSP430G2955? схема программатора, софт.
Спасибо.

_________________
Неисповедимы пути сигнала...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт июл 26, 2016 18:51:19 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 7
Зарегистрирован: Чт май 14, 2015 15:11:39
Сообщений: 424
Откуда: Саратов
Рейтинг сообщения: 0
Всем привет. Настроил tim2 на генерацию шим на третьем канале (d4), взяв пример [url=blog.mark-stevens.co.uk/2012/08/generating-pwm-signals-using-the-stm8s]отсюда[/url] Хочу получить еще один шим сигнал на другом канале. Подскажите, где задается на каком канале генерировать сигнал?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт июл 26, 2016 19:17:33 
Друг Кота

Карма: 20
Рейтинг сообщений: 228
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6388
Рейтинг сообщения: 1
На D4 выведен первый канал. У Марка в примере тоже первый. Каким образом у вас возникла мысль, что вы запустили третий канал?

Канал в его примере конфигурируется регистрами TIM2_CCRx и TIM2_CCMRx, где x -- это номер канала. Еще есть регистры TIM2_CCERх, где x не означает номер, но там тоже задаются для них (каналов) параметры. По аналогии с уже имеющимися в процедуре инициализации действиями, можно сконфигурировать и остальные каналы, подставляя нужные значения в вышеупомянутые регистры.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср июл 27, 2016 18:58:06 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 7
Зарегистрирован: Чт май 14, 2015 15:11:39
Сообщений: 424
Откуда: Саратов
Рейтинг сообщения: 0
Прошу прощения за наглость :wink: . Пытаюсь запустить 3й канал (A3), не вникая особо в ДШ (таймеры по ДШ это то еще веселье :roll: ):
Спойлер
Код:
void SetupServo1()
{
    TIM2_PSCR = 0x03;       //  Prescaler = 4.
    TIM2_ARRH = 0xc3;       //  High byte of 50,000.
    TIM2_ARRL = 0x50;       //  Low byte of 50,000.
    TIM2_CCR1H = 0x0A;      //  High byte of 12,500
    TIM2_CCR1L = 0xCE;      //  Low byte of 12,500
    TIM2_CCER1_CC1P = 0;    //  Active high.
    TIM2_CCER1_CC1E = 1;    //  Enable compare mode for channel 1
    TIM2_CCMR1_OC1M = 6;    //  PWM Mode 1 - active if counter < CCR1, inactive otherwise.
    TIM2_CR1_CEN = 1;       //  Finally enable the timer.
}

void SetupServo2()
{
    TIM2_PSCR = 0x03;       //  Prescaler = 4.
    TIM2_ARRH = 0xc3;       //  High byte of 50,000.
    TIM2_ARRL = 0x50;       //  Low byte of 50,000.
    TIM2_CCR3H = 0x0A;      //  High byte of 12,500
    TIM2_CCR3L = 0xCE;      //  Low byte of 12,500
    TIM2_CCER1_CC2P = 0;    //  Active high.
    TIM2_CCER1_CC2E = 1;    //  Enable compare mode for channel 3?
    TIM2_CCMR2_OC2M = 6;    //  PWM Mode 1 - active if counter < CCR1, inactive otherwise.
    TIM2_CR1_CEN = 1;       //  Finally enable the timer.
}

Первый канал (D4)работает, третий - нет

Проверьте:
Спойлер
Код:
    TIM2_CCR3H = 0x0A;      //  High byte of 12,500
    TIM2_CCR3L = 0xCE;      //  Low byte of 12,500
    TIM2_CCER2_CC3P = 0;    //  Active high.
    TIM2_CCER2_CC3E = 1;    //  Enable compare mode for channel 3
    TIM2_CCMR3_OC3M = 6;    //  PWM Mode 1 - active if counter < CCR1, inactive otherwise.
    TIM2_CR1_CEN = 1;       //  Finally enable the timer.


Пытаюсь управлять каналами. С первыми всё ок. Третий не меняется.
Спойлер
Код:
void servo1Write(unsigned char angle)
{
  if(angle > 180)       angle = 180;
 
  unsigned short temp = (SERVO_RIGHT - SERVO_LEFT) / 180;
  temp *= angle;
  temp += SERVO_LEFT;
 
  TIM2_CCR1H = temp >> 8;      //  High byte of 12,500
  TIM2_CCR1L = temp && 0xFF;      //  Low byte of 12,500
}

void servo2Write(unsigned char angle)
{
  if(angle > 180)       angle = 180;
 
  unsigned short temp = (SERVO_RIGHT - SERVO_LEFT) / 180;
  temp *= angle;
  temp += SERVO_LEFT;
 
  TIM2_CCR3H = temp >> 8;      //  High byte of 12,500
  TIM2_CCR3L = temp && 0xFF;      //  Low byte of 12,500
}


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср июл 27, 2016 20:16:05 
Друг Кота

Карма: 20
Рейтинг сообщений: 228
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6388
Рейтинг сообщения: 0
FireProoF писал(а):
Первый канал (D4)работает, третий - нет

По вашему коду и не должен.

Здесь вы задаете значение регистра сравнения для третьего канала,

TIM2_CCR3H = 0x0A; // High byte of 12,500
TIM2_CCR3L = 0xCE; // Low byte of 12,500

но остальные установки указываете для второго канала.

TIM2_CCER1_CC2P = 0; // Active high.
TIM2_CCER1_CC2E = 1; // Enable compare mode for channel 3?
TIM2_CCMR2_OC2M = 6; // PWM Mode 1 - active if counter < CCR1, inactive otherwise.

Не смотреть в даташит можно, но тогда нужно хотя бы уметь строить предположения, что вряд ли конфигурация для третьего канала помечается цифрой 2.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт сен 09, 2016 13:10:49 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
Добрый день. Решил "поиграться" с STM8S103F3, это первое мое знакомство с таким МК. Среду разработки выбрал IAR (никогда с такой раньше не работал).

Написал нижеследующий код. Данный код "мигает" портом, выполняя код то из флеш, то из ОЗУ. Цель проекта: первое ознакомление с данным МК и заодно проверка скорости выполнения кода из флеш и из ОЗУ.

Вот код.
Спойлер
Код:
   
        MODULE  asmmain
       
#include "iostm8s103f3.h"

        PUBLIC  __iar_program_start
        PUBLIC  main

        EXTERN  CSTACK$$Limit

        SECTION `.near_func.text`:CODE:NOROOT(0)

        __iar_program_start:
       
 
//***************************************************************************8
main:
Reset:

        LDW     X, #CSTACK$$Limit-1     ; Set stackpointer
        LDW     SP, X
                                 
;************************************************************************88
; настройка тактирования
         mov CLK_CKDIVR,#0      ;выключить все делители тактовой частоты

;Копирование кода в озу
  //dc32 (0x82000000+Tim2OV)
 
 LDw X,#( loop)
 LDW Y,#0

CopyCodeRam:
 ld a,(x)
 ld (y),a
 incw X
 incw Y
 cpw X,#loopEnd
 jrne CopyCodeRam
 
;настройка порта
        mov PD_DDR,#MASK_PD_DDR_DDR4 //Pd4 выход
        mov PD_CR1,#MASK_PD_CR1_C14  ; пушпул
        mov PD_CR2,#MASK_PD_CR2_C24  ; 10MHz
       
       
 //----------
 //настраиваем таймер
 //mov CLK_PCKENR1,1<<5 //включение тактирования таймера 2
 //mov TIM2_CNTRH,#0xFF
 //mov TIM2_CNTRL,#0xF0
 mov TIM2_PSCR,#0x0a //максимальный предделитель
 mov TIM2_CR1,#MASK_TIM2_CR1_CEN //запускаем таймер
 mov TIM2_IER,#MASK_TIM2_IER_UIE //разрешение прерывания по переполнению 

  RIM //разрешаем прерывания

           
 //********************************************************************
 
 
 //мигание портом
 loop:
        ld A,PD_ODR
        xor A,#MASK_PD_ODR_ODR4
        ld PD_ODR,A
        jra loop 
  loopEnd:     
 //*****************************************************************************
//прерывание по переполнению таймера
Tim2OV:
 
  mov TIM2_SR1,#0x00 //сброс флагов таймера2

  ld a, Flag
  //если флаг 0 уйдем в ОЗУ
  jrne TR1
  //ld a,#0
  ld (0x09,SP),a  //запишем адрес возврата на ОЗУ
  ld (0x08,SP),a
  mov Flag,#1
  iret //выход и прерывания
 
 TR1: //если флаг 1 уйдем в флеш
  ld A,#(low loop)
  ld (0x09,SP),a
  ld A,#(high loop)
  ld (0x08,SP),a
 
  mov Flag,#0
  iret
 
 
//*****************************************************************************
        SECTION `.RAM_sect`:CODE:ROOT(0)  //****************************************
//*****************************************************************************       

//мигание портом из ОЗУ
 loopRAM:
        ld A,PD_ODR
        xor A,#MASK_PD_ODR_ODR4
        ld PD_ODR,A         
        JRT loopRAM 
  //----------
  nop
  Flag: db 0

//*****************************************************************************
//вектора прерываний
       SECTION `.Vectors_sect`:CODE:ROOT(0)
       
        DC32  0x82000000+Reset                   ;; reset
                 
   dc32 0x82000000+Reset   ; trap
       
   dc32 0x82000000+Reset   ; irq0
   dc32 0x82000000+Reset   ; irq1
   dc32 0x82000000+Reset   ; irq2
   dc32 0x82000000+Reset   ; irq3
   dc32 0x82000000+Reset   ; irq4
   dc32 0x82000000+Reset   ; irq5
   dc32 0x82000000+Reset   ; irq6
   dc32 0x82000000+Reset   ; irq7
   dc32 0x82000000+Reset   ; irq8
   dc32 0x82000000+Reset   ; irq9
   dc32 0x82000000+Reset   ; irq10
   dc32 0x82000000+Reset   ; irq11
   dc32 0x82000000+Reset   ; irq12
   dc32 (0x82000000+Tim2OV)   ; irq13   Переполнение обновление таймера 2
   dc32 0x82000000+Reset   ; irq14
   dc32 0x82000000+Reset   ; irq15
   dc32 0x82000000+Reset   ; irq16
   dc32 0x82000000+Reset   ; irq17
   dc32 0x82000000+Reset   ; irq18
   dc32 0x82000000+Reset   ; irq19
   dc32 0x82000000+Reset   ; irq20
   dc32 0x82000000+Reset   ; irq21
   dc32 0x82000000+Reset   ; irq22
   dc32 0x82000000+Reset   ; irq23
   dc32 0x82000000+Reset   ; irq24
   dc32 0x82000000+Reset   ; irq25
   dc32 0x82000000+Reset   ; irq26
   dc32 0x82000000+Reset   ; irq27
   dc32 0x82000000+Reset   ; irq28
   dc32 0x82000000+Reset   ; irq29
       
       
  //----------     
        END



Код работает. Вопросов к самому коду нет. Вопрос к линковщику. Оказалось, что в IAR нет директивы .ORG или подобного. Немного поковырялся и поломал голову. Как писать линковщик нормально я не понял. Хотя смотрел разные источники, но моя голова как то понимать не захотела. Пробовал читать в том числе IAR Assembler™ Reference Guide for STMicroelectronics’ STM8 Microcontroller Family.

Взял пример готовый линковщика из IAR. Добавил туда регионы Vectors, RAM и изменил NearFuncCode на 0x8080.

Спойлер
Код:
/////////////////////////////////////////////////////////////////
//      Example ILINK command file for
//      STM8 IAR C/C++ Compiler and Assembler.
//
//      Copyright 2015 IAR Systems AB.
//
/////////////////////////////////////////////////////////////////


define memory with size = 16M;

define region Vectors = [from 0x8000 to 0x807f];
place at start of Vectors  { ro section .Vectors_sect };

define region RAM = [from 0x0000 to 0x03FF];
place at start of RAM  { ro section .RAM_sect };





define region TinyData = [from 0x00 to 0xFF];

define region NearData = [from 0x0000 to 0x03FF];

define region Eeprom = [from 0x4000 to 0x427F];

define region NearFuncCode = [from 0x8080 to 0x9FFF];

define region FarFuncCode = [from 0x8000 to 0x9FFF];

define region HugeFuncCode = [from 0x8000 to 0x9FFF];


/////////////////////////////////////////////////////////////////

define block CSTACK with size = _CSTACK_SIZE  {};

define block HEAP  with size = _HEAP_SIZE {};

define block INTVEC with size = 0x80 { ro section .intvec };

// Initialization
initialize by copy { rw section .far.bss,
                     rw section .far.data,
                     rw section .far_func.textrw,
                     rw section .huge.bss,
                     rw section .huge.data,
                     rw section .huge_func.textrw,
                     rw section .iar.dynexit,
                     rw section .near.bss,
                     rw section .near.data,
                     rw section .near_func.textrw,
                     rw section .tiny.bss,
                     rw section .tiny.data,
                     ro section .tiny.rodata
                   
                     
                    };

initialize by copy with packing = none {section __DLIB_PERTHREAD };

do not initialize  { rw section .eeprom.noinit,
                     rw section .far.noinit,
                     rw section .huge.noinit,
                     rw section .near.noinit,
                     rw section .tiny.noinit,
                     rw section .vregs };

// Placement
place at start of TinyData      { rw section .vregs };
place in TinyData               { rw section .tiny.bss,
                                  rw section .tiny.data,
                                  rw section .tiny.noinit,
                                  rw section .tiny.rodata };

place at end of NearData        { block CSTACK };
place in NearData               { block HEAP,
                                  rw section __DLIB_PERTHREAD,
                                  rw section .far.bss,
                                  rw section .far.data,
                                  rw section .far.noinit,
                                  rw section .far_func.textrw,
                                  rw section .huge.bss,
                                  rw section .huge.data,
                                  rw section .huge.noinit,
                                  rw section .huge_func.textrw,
                                  rw section .iar.dynexit,
                                  rw section .near.bss,
                                  rw section .near.data,
                                  rw section .near.noinit,
                                  rw section .near_func.textrw };

place at start of NearFuncCode  { block INTVEC };
place in NearFuncCode           { ro section __DLIB_PERTHREAD_init,
                                  ro section .far.data_init,
                                  ro section .far_func.textrw_init,
                                  ro section .huge.data_init,
                                  ro section .huge_func.textrw_init,
                                  ro section .iar.init_table,
                        ro section .init_array,
                                  ro section .near.data_init,
                                  ro section .near.rodata,
              ro section .near_func.text,
              ro section .near_func.textrw_init,
                                  ro section .tiny.data_init,
                                  ro section .tiny.rodata_init };

place in FarFuncCode            { ro section .far.rodata,
                                  ro section .far_func.text };

place in HugeFuncCode           { ro section .huge.rodata,
                                  ro section .huge_func.text };

place in Eeprom                 {    section .eeprom.noinit };

place in Eeprom                 {    section .eeprom.data };

place in Eeprom                 {    section .eeprom.rodata };

/////////////////////////////////////////////////////////////////


**************************************************************************
Пока писал вопрос, понял в чем дело. Вопрос стер. Вопрос был по линковщику. Оказывается путь к файлу линковщика надо указывать для обеих конфигураций. Debug и Release. А я то думал, чего у меня ругается на релиз.

Задам тогда другой. Чем отличаются эти конфигурации?

**************************************************************************
Ну и расскажу тогда, как мне кажется, интересный момент. Есть в МК такая команда INT. Код ее $82XXXXXX, где X трехбайтный адрес (из PM0044). Там же указано что данная инструкция может использоваться только в таблице прерываний в роли вектора. Не IAR не STVD команду int понимать не хочет. В iar таблицу векторов заполнял вот такими директивами dc32 (0x82000000+Tim2OV). Попробовал эту же директиву засунуть внутрь кода, чего вроде как делать нельзя. Если запускать код в режиме симуляции iar, то код виснет на ней. А вот если в режиме реальной отладки в железе, то эта инструкция работает как безусловный переход, содержимое указателя стека не меняется. Конечно я не говорю что эту инструкцию можно и нужно применять как безусловный переход, так, интересный факт.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб окт 15, 2016 19:18:53 
Что за изделие - winIDEA-STM8 от iSYSTEM, кто пользовался? Сколько не крутил сайт, так и не понял у них IDE имеется? И бесплатно?


Вернуться наверх
   
 
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс окт 23, 2016 09:18:26 
Как в IAR включить отображение размера кода?
У меня свежеустановленный ничего не пишет.
Изображение


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс окт 23, 2016 09:26:04 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
Попробовал свои IAR. В файле *.map есть эта инфа.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс окт 23, 2016 09:31:47 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 6
Chettuser писал(а):
Как в IAR включить отображение размера кода?

Изображение


Вернуться наверх
 
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс окт 23, 2016 16:14:52 
Исчо вопросик.
Пробовал на вкус SPL для STM8S и решил перебраться с него.
Подключил #include "iostm8s003f3.h"
и тут полезли ошибки:
Изображение
На какой он тут синтаксис ругается, если это его родные файлы и я туда не лез?
:dont_know:


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс окт 23, 2016 16:49:54 
Опытный кот
Аватар пользователя

Карма: 16
Рейтинг сообщений: 166
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 826
Откуда: Уже не город Белых гор
Рейтинг сообщения: 0
Смотри всегда на источник первой ошибки. Потом может просто лесенкой посыпаться.


Вернуться наверх
 
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс окт 23, 2016 17:46:07 
Обе утыкаются в эту строку. :(
Ладно, отложу пока STM8 в сторону. Есть другие дела.


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн окт 24, 2016 06:22:43 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
Гляньте вот тут.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн окт 24, 2016 21:43:02 
Спасибо.
И ведь последняя версия стоит, неужели поправить не удосужились за это время? Ещё и файлы залочили от изменения. Пипец! :(


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт ноя 04, 2016 17:42:55 
Открыл глаза

Зарегистрирован: Пн мар 31, 2014 22:42:50
Сообщений: 61
Откуда: Харьков
Рейтинг сообщения: 0
Подскажите, как очистить stm8 в ST Visual Programmer


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт ноя 04, 2016 19:27:04 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
При скромном опыте программирования данного камня поделюсь опытом. Иногда камень переставал отвечать. Помогало в нужный момент нажатия резет. В stvd трудно было попасть в этот момент, в iar легко

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб ноя 05, 2016 00:22:25 
Друг Кота

Карма: 20
Рейтинг сообщений: 228
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6388
Рейтинг сообщения: 0
Еще легче попадать в резет, если завести его от программатора отдельным проводом на соответствующую ногу МК и в настройках среды прописать under reset. Тогда среда сама будет попадать в этот резет, причем, каждый раз удивительно точно. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср ноя 09, 2016 15:14:26 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
знает ли кто способ как отлаживать с одного компьютера паралельно два STM8?

IAR у меня хватает пераый программатор и второй игнорирует


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт ноя 10, 2016 16:38:08 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 7
Зарегистрирован: Чт май 14, 2015 15:11:39
Сообщений: 424
Откуда: Саратов
Рейтинг сообщения: 0
Всем привет. Управляю 4мя ДПТ через PWM с помощью таймеров 1 и 2. Параллельно опрашиваю АЦП. Бывает запуск АЦП совпадает с фронтом одного из PWM'ов. Как их сихнронизировать?
Были идеи использовать режим счёта up+down, как бы добавляя еще одну метку в сигнал ШИМа где-нибудь посередине, чтобы запустить АЦП, но с этого таймера выведено только 3 канала у меня.

Добавлено after 1 minute 15 seconds:
axillent писал(а):
знает ли кто способ как отлаживать с одного компьютера паралельно два STM8?

IAR у меня хватает пераый программатор и второй игнорирует

Попробуй virtualbox.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2488 ]     ... , , , 68, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y