Совсем ID, просто картинку обрезал на начальный адрес. ID же это все 12 байт, хотя какая разница.arkhnchul писал(а):не совсем, ID - это lot number
Программирование STM8
- Реклама
Не столь важно
. Лично мне непонятно что такое х и у тут. Наверное что-то технологическое, для отслеживания производства, может когда пилят кремний.
- Сообщения: 24
- Зарегистрирован: Чт дек 23, 2010 00:12:10
Всем доброго. Помогите советом. Пишу файл с макросами в STVD в виде include файла. В макросах есть различия в зависимости от используемого микроконтроллера. Соответственно нужно их дифференцировать по цвету штанов выбранной модели.
Попробовал так: #ifdef __STM8S105K__
При этом весь остальной текст попросту игнорируется если в начале кода присутствует #define __STM8S105K__ 1
А если закомментировать, то игнорируется обозначенный макрос.
Подскажите как сделать чтоб все макросы работали при любом выбранном микроконтроллере, а помеченные макросы только по выбору.
Может сложно сформулировал, задавайте наводящие вопросы, попробую ответить.
Попробовал так: #ifdef __STM8S105K__
При этом весь остальной текст попросту игнорируется если в начале кода присутствует #define __STM8S105K__ 1
А если закомментировать, то игнорируется обозначенный макрос.
Подскажите как сделать чтоб все макросы работали при любом выбранном микроконтроллере, а помеченные макросы только по выбору.
Может сложно сформулировал, задавайте наводящие вопросы, попробую ответить.
- Реклама
а вы #ifdef случаем закрыть не забыли #endif?
вот например кусок stm8_conf.h из spl, пример работы с препроцессором
вот например кусок stm8_conf.h из spl, пример работы с препроцессором
Код: Выделить всё
#if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) ||defined(STM8S105) ||\
defined(STM8S005) || defined (STM8AF52Ax) || defined (STM8AF62Ax) || defined (STM8AF626x)
#include "stm8s_tim3.h"
#endif /* (STM8S208) ||defined(STM8S207) || defined(STM8S007) ||defined(STM8S105) */
#ifndef STM8S903
#include "stm8s_tim4.h"
#endif /* STM8S903 */
#ifdef STM8S903
#include "stm8s_tim5.h"
#include "stm8s_tim6.h"
#endif /* STM8S903 */- Сообщения: 24
- Зарегистрирован: Чт дек 23, 2010 00:12:10
#endif не забыл. Забыл добавить что пишу на ассемблере. Но в общем так и сделал. Вынес макросы в отдельные файлы. Но хотелось всё в одном файле.
так то же самое можно и в одном файле. Покажите текст, пока не оч понятно, в чем проблема.
- Сообщения: 24
- Зарегистрирован: Чт дек 23, 2010 00:12:10
Код: Выделить всё
;выключение питания АЦП
ADC_PWR_OFF MACRO
bres ADC_CR1,#0
MEND
#ifidn __STM8S105k__
#include "ADC1.inc"
#endif ; __STM8S105k__
#ifidn __STM8S103f__
#include "ADC2.inc"
#endif ; __STM8S103f__
EOFМожет нужно #ifdef ?
дык это, показывайте то, что не работает, а не то, что работает.
и да, зачем вам #ifidn?
ЗЫ а, это ассемблер. Сказали бы сразу)
и да, зачем вам #ifidn?
ЗЫ а, это ассемблер. Сказали бы сразу)
- Сообщения: 24
- Зарегистрирован: Чт дек 23, 2010 00:12:10
Всё, разобрался. #ifdef не работает почему-то, #ifidn всё работает в одном файле.
Так компилируется:
так не получается:
Так компилируется:
Код: Выделить всё
;выключение питания АЦП
ADC_PWR_OFF MACRO
bres ADC_CR1,#0
MEND
#ifidn __STM8S105k__
ADC_CH MACRO CH
;порт на вход
bres PB_DDR,#CH
;выбор канала
mov ADC_CSR,#CH
MEND
#endif ; __STM8S105k__
Код: Выделить всё
;выключение питания АЦП
ADC_PWR_OFF MACRO
bres ADC_CR1,#0
MEND
#ifdef __STM8S105k__
ADC_CH MACRO CH
;порт на вход
bres PB_DDR,#CH
;выбор канала
mov ADC_CSR,#CH
MEND
#endif ; __STM8S105k__
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
- Сообщения: 24
- Зарегистрирован: Чт дек 23, 2010 00:12:10
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Занятие эмбеддом, подразумевает однозначное знание языка.
Тем более что вы избрали тернистый путь одиночки - кодинга на асме чипа, имеющего массу примеров на С ,с архитектурой под С заточенную.
К тому же практически все переводное полная чушь.
Тем более что вы избрали тернистый путь одиночки - кодинга на асме чипа, имеющего массу примеров на С ,с архитектурой под С заточенную.
К тому же практически все переводное полная чушь.
- Сообщения: 264
- Зарегистрирован: Пн июн 05, 2017 10:27:45
Подскажите есть ли разница stm8s003f3p6 или stm8s103f3p6 ,у меня прошивка под stm8s003f3p6 ,а имею
stm8s103f3p6 ,писать прошивки или редактировать не умею.
stm8s103f3p6 ,писать прошивки или редактировать не умею.
Глянул ДШ.
Сразу бросилась в глаза разница в меньшем количестве ЕЕПРОМ и отсутствие уникального номера у 003.
Других отличий не заметил (не значит что их нет), но по всей видимости прошивка будет работать на 103. Можно ж просто попробовать на свой страх и риск, если устройство позволяет такие эксперименты.
Сразу бросилась в глаза разница в меньшем количестве ЕЕПРОМ и отсутствие уникального номера у 003.
Других отличий не заметил (не значит что их нет), но по всей видимости прошивка будет работать на 103. Можно ж просто попробовать на свой страх и риск, если устройство позволяет такие эксперименты.
разница не сильно большая, вроде только размер EEPROM-а и живучесть флеша. По бытующей легенде, кристаллы S003 - отбраковка групповых партий S103
Уважаемые гуру, есть у меня зарядное устройство с микроконтроллером, надпись на корпусе 324GK_C1D03. Корпус TSSOP 20. Погуглив 324GK datasheet - получил, что это STM8S. Так-ли это? Нужно считать и записать прошивку зарядного устройства. Возле контроллера есть внешний разъем на 3 пина.



