Например TDA7294

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





Текущее время: Вт апр 16, 2024 10:57:44

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


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



Начать новую тему Ответить на тему  [ Сообщений: 2488 ]     ... , , , 73, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт июл 04, 2017 17:59:31 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
вариант:
Код:
unsigned char a;
data->byte_index++;
a =  data->byte_index;
if( a >= data->bytes ) data->state = encoding_state_tx_busy_lb;

почитать тут:
http://microsin.ru/content/view/1172/44/
https://electronix.ru/forum/lofiversion ... 13226.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт июл 04, 2017 18:21:28 
Электрический кот

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

вопрос еще
как правильно сбрасывать счетчик TIM4_CNTR ?
достаточно ли для этого присвоить регистру нулевое значение или нужно еще как то перезапускать таймер?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт авг 01, 2017 13:28:57 
Открыл глаза
Аватар пользователя

Карма: 1
Рейтинг сообщений: 2
Зарегистрирован: Пн янв 18, 2010 17:52:07
Сообщений: 51
Рейтинг сообщения: 0
Добрые коты помогите!!
Не могу разобраться, не работает SPI на stm8l051f3
Инициализация проходит, порты работают. А SPI не хочет,
в режиме дебага в регистр DR нечего не шлется, соответственно никаких флагов не выставляется

Пишу в ИАР
Моя инициализация
Спойлер/* Includes ----------*/
#include "stm8l15x.h"
#include "peripheral.h"

/* Private functions ----------*/
uint8_t SPI_ReadByte(uint8_t);

void main(void){
CLK_Init();
SPI_Init_();
Leds_Init();

uint8_t i = 0;

/* Infinite loop */
while (1) {
for (i=0; i<10; ++i){
SPI_ReadByte(i);
}
}
}
uint8_t SPI_ReadByte(uint8_t data){
/* Ждём очистки регистра DR */
while ((SPI1->SR & (uint8_t)SPI_FLAG_TXE) == RESET) { ; }

/* Послать байт */
SPI_SendData(SPI1, data);

/* Ждём приёма байта */
//while ((SPI1->SR & (uint8_t)SPI_FLAG_RXNE) == RESET) { ; }

/* Возвратить принятый байт */
return (uint8_t)SPI1->DR;
}

#ifdef USE_FULL_ASSERT
void assert_failed(u8* file, u32 line) { while (1) {}; };
#endif

Спойлер#include "peripheral.h"

//******************************************************************************
//---------- CLK ----------
//******************************************************************************
void CLK_Init(void) {
CLK_DeInit();
CLK_HSICmd(ENABLE);
CLK->CKDIVR = 0x00; // Fcpu = 16MHz
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
CLK_SYSCLKSourceSwitchCmd(ENABLE);
CLK_PeripheralClockConfig(CLK_Peripheral_SPI1, ENABLE);
}
//******************************************************************************
//---------- Leds ----------
//******************************************************************************
void Leds_Init(void) {
GPIO_Init(PORT_Red_Led, PIN_Red_Led, GPIO_Mode_Out_PP_Low_Fast);
}
//******************************************************************************
//---------- SPI initialization ----------
//******************************************************************************
void SPI_Init_(void) {
GPIO_Init (PORT_NSS, PIN_NSS, GPIO_Mode_Out_PP_High_Fast); // конфигурируем CS (SS)
// GPIO_Init (PORT_SPI, PIN_CE, GPIO_Mode_Out_PP_High_Fast); // конфигурируем CE
GPIO_Init (PORT_SPI, PIN_SCK, GPIO_Mode_Out_PP_High_Fast); // конфигурируем CLK
GPIO_Init (PORT_SPI, PIN_MOSI, GPIO_Mode_Out_PP_High_Fast); // конфигурируем MOSI
GPIO_Init (PORT_SPI, PIN_MISO, GPIO_Mode_In_FL_No_IT); // конфигурируем MISO
// GPIO_Init (PORT_SPI, PIN_IRQ, GPIO_Mode_In_FL_No_IT); // вывод прерывания радиомодуля

SPI_DeInit(SPI1);
SPI_CalculateCRCCmd(SPI1, DISABLE);
SPI_Init
(
SPI1, SPI_FirstBit_MSB, SPI_BaudRatePrescaler_256, SPI_Mode_Master,
SPI_CPOL_Low, SPI_CPHA_1Edge,
SPI_Direction_2Lines_FullDuplex, SPI_NSS_Soft, 0x00
);
SPI_Cmd(SPI1, ENABLE);
}

Спойлер#ifndef _peripheral_
#define _peripheral_

#include "stm8l15x.h"

//******************************************************************************
//---------- Leds ----------
//******************************************************************************
#define PORT_Red_Led GPIOC
#define PIN_Red_Led GPIO_Pin_6

//***************************************************************************//
//---------- defines START ----------//
//***************************************************************************//
#define PIN_NSS GPIO_Pin_2 // connected to CSN
#define PORT_NSS GPIOB // NSS port
#define PIN_SCK GPIO_Pin_3
#define PIN_MOSI GPIO_Pin_4
#define PIN_MISO GPIO_Pin_5
#define PORT_SPI GPIOB // SPI port

//***************************************************************************//
//---------- function defines ----------//
//***************************************************************************//
void SPI_Init_(void);
void Leds_Init(void);
void CLK_Init(void);

#endif

Или ткните рабочим кодом, а лучше проэктом.
Просто в симуляторе в регистр данные идут, а в железе все молчит. Может забыл что то еще инициализировать.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт авг 03, 2017 10:48:51 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
правильно понимаю, что такой адаптер https://ru.aliexpress.com/item/TSSOP28- ... st=ae803_1
можно применить для беспаявной отладки и прошивки stm8 в корпусах TSSOP20?
было бы круто


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт авг 08, 2017 06:29:52 
Открыл глаза
Аватар пользователя

Карма: 1
Рейтинг сообщений: 2
Зарегистрирован: Пн янв 18, 2010 17:52:07
Сообщений: 51
Рейтинг сообщения: 1
А что здесь крутого?
Что тебе мешает отлаживать запаянный контроллер?
По моему SWIM полностью его debag-ит и прошивает в плате.


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт авг 08, 2017 09:23:15 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
с tiny13 некоторые простые устройства требующие простоты, а иногда коимпактности отлаживаю используя похожий адаптер и потом прошитую микросхему впаиваю
не нужно место на плате под ISP, его не надо ни разводить ни паять ни выделять место
вот думаю для себя о том же с stm8s. особенно актуально если надо сделать серию одинаковых устройств
конечно все ИМХО, не всем надо


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср авг 16, 2017 16:58:35 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн янв 24, 2011 01:51:48
Сообщений: 197
Откуда: Украина, Киев
Рейтинг сообщения: 0
на худой конец можно на время отладки подпаять провода к программатору и отлаживать себе спокойно.


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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср сен 06, 2017 10:29:32 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 4
в окошке вывода Build нажать правую кнопку мышы -> птичка All


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср сен 06, 2017 10:46:04 
Электрический кот

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт сен 07, 2017 11:46:01 
Электрический кот

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


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

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

переписываю библиотеки на С++
всю инициализацию и все настройки регистров беру из рабочего варианта на Си
но при активации ADC судя по отладчику МК бесконечно отрабатывает только прерывания ADC, в основную программу не возвращается
флаги сбрасываю

внутри обработчика иедт вызов функции по адресу и если этот вызов закоментарить, то зависания прекращаются
при этом по отладке сам выхов отрабатывает так как надо, МК не виснат полностью, а хацикливается на векторе прерываний ADC

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

как то пагубно влияет сам факт вызова по адресу
потому, что даже если комментирую все строки кода которые вызываются то все равно циклится
как только убераю вызов по адресу цикл прекращается


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб сен 09, 2017 13:16:16 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн янв 24, 2011 01:51:48
Сообщений: 197
Откуда: Украина, Киев
Рейтинг сообщения: 0
может переполнение стека?


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

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

с чего оно возникнет?
опять же если бы было переполнение через какое то время МК просто ушел бы в никуда
а он упорно отрабатываепт вектор и весь мой код внутри вектора


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб сен 09, 2017 13:22:10 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн янв 24, 2011 01:51:48
Сообщений: 197
Откуда: Украина, Киев
Рейтинг сообщения: 0
с чего оно возникнет?

от недостаточного размера стека
а он упорно отрабатываепт вектор и весь мой код внутри вектора
ну так адрес возврата затертый


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

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


если бы было так то два прерывания по таймерам бы тоже не работали, разве нет?
два прерывания работают а это одно даже одно не работает
сомнительно что это стек как то может быть причастен


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб сен 09, 2017 13:50:54 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн янв 24, 2011 01:51:48
Сообщений: 197
Откуда: Украина, Киев
Рейтинг сообщения: 0
ну stm8 я знаю плохо. потому чем смог тем попытался помочь


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

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

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


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

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


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

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

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


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

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


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

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


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

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


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