Чт авг 11, 2016 15:14:32
У них примерно равная производительность (инструкция за такт). Но для AVR гораздо шире выбор компиляторов и намного больше документации и примеров.СЦБист писал(а):STM8 по скорости вроде выше.атмела
Чт авг 11, 2016 22:10:32
Чт авг 11, 2016 22:34:30
F0 это не единственное семейство среди МК STM32. Для других или пиратить или покупать, если размер прошивки будет превышать 32 КБ.dosikus писал(а):Keil для F0 бесплатен.
Я писал что-то про периферию? Начинка это хорошо, но у AVR и PIC намного больше выбор компиляторов и количество примеров и статей. Об этом я писал.dosikus писал(а):STM8 имеет периферию сходную с STM32 и рвет и пЫк и авр как тузик грелку.
Кому что больше нравится. Поначалу когда еще совсем котенок в STM32 проще работать с библиотеками чем с регистрами. Это когда "вырастаешь" и становишься матерым котярой в STM32 уже можно без напряга программить манипулируя регистрами.dosikus писал(а):И SPL и калокуб только для любителей аурдуньи, для вменяемой разработки мало пригодны.
Чт авг 11, 2016 22:58:54
Мурик писал(а):Я писал что-то про периферию?
Пт авг 12, 2016 10:27:38
Компиляторов ЯВУ для PIC и AVR гораздо больше. Это не только сишные компили, но и всякие паскали, бейсики и т. д. по несколько разновидностей. STM8 может таким похвастаться? Процитирую вас-же.dosikus писал(а):Для пЫк xc8 , для авр IAR .
dosikus писал(а):То то и оно.
Не вижу преимуществ по сравнению с STM32. Если начинать изучать новые МК, то лучше 32-ух битные ARM, чем очередные 8-ми битные STM8. Стоимость STM8 и STM32 незначительно отличается, а плюшек у последних больше.dosikus писал(а):Значит не осознаешь в чем преимущества.
Пт авг 12, 2016 10:54:35
Мурик писал(а):Компиляторов ЯВУ для PIC и AVR гораздо больше. Это не только сишные компили, но и всякие паскали, бейсики и т. д. по несколько разновидностей. STM8 может таким похвастаться?
Не вижу преимуществ по сравнению с STM32. Если начинать изучать новые МК, то лучше 32-ух битные ARM, чем очередные 8-ми битные STM8. Стоимость STM8 и STM32 незначительно отличается, а плюшек у последних больше.
Пт авг 12, 2016 11:23:49
Пт авг 12, 2016 11:35:19
Лучше пусть STM8 идет лесом...scorpi_0n писал(а):Для тех кто хочет освоить STM8 и ИАРа хватит, а всё вышеперечисленное уродство пусть идёт лесом
Целесообразно наверное при крупносерийном производстве для удешевления разработки на несколько центов. А при единичных экземплярах, с тем же успехом можно использовать STM32F030F4P6.scorpi_0n писал(а):Но если задача совсем простая, то почему бы и не STM8S003F3?
IDE спрашивает нужно ли ассоциировать сишные файлы с ней. Это необязательно и от этого можно отказаться, т. е. оставить выбор как есть сейчас в окне.СЦБист писал(а):не могу понять что тут лучше выбрать для начинающего ?
Пт авг 12, 2016 11:36:56
Пт авг 12, 2016 11:43:44
Пт авг 12, 2016 11:55:29
Пт авг 12, 2016 12:21:15
Пт авг 12, 2016 12:38:54
Пт авг 12, 2016 12:42:38
Пт авг 12, 2016 12:46:48
Пт авг 12, 2016 12:56:11
Пт авг 12, 2016 13:58:51
Пт авг 12, 2016 14:52:20
Найти можно парой кликов. Клик ПКМ по структуре и в меню по "Найти объявление xxxx" где xxxx это имя структуры. Аналогично можно поступить с вызовом функции, только в меню выбрать "Найти реализацию xxxx". Бывает полезно, поскольку SPL хорошо документирована и в начале функции находится комментарий объясняющий для чего она нужна и каковы у нее могут быть параметры.СЦБист писал(а):В принципе структуры можно найти в заголовочных файлах, но там шибко хреновое описание
Разве что на английском. На сайте ST следует поискать документацию на библиотеку SPL интересующего семейства (например STM32F10x).СЦБист писал(а):Есть ли какое-то подробное описание всех структур.
Тогда в поисковике набираете STM32 ADC и смотрите статьи и примеры по ссылкам (но лучше искать под необходимое семейство, например STM32F103 ADC потому что есть некоторые отличия между семействами).СЦБист писал(а):К примеру я хочу просмотреть структуру на АЦП или что-то другое.
void adc_init()
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
// настройки ADC
ADC_InitTypeDef ADC_InitStructure;
ADC_StructInit(&ADC_InitStructure);
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; // режим работы - одиночный, независимый
ADC_InitStructure.ADC_ScanConvMode = DISABLE; // не сканировать каналы, просто измерить один канал
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; // однократное измерение
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; // без внешнего триггера
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //выравнивание битов результат - прижать вправо
ADC_InitStructure.ADC_NbrOfChannel = 1; //количество каналов - одна штука
ADC_Init(ADC1, &ADC_InitStructure);
ADC_Cmd(ADC1, ENABLE);
// настройка канала
ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 1, ADC_SampleTime_55Cycles5);
// калибровка АЦП
ADC_ResetCalibration(ADC1);
while (ADC_GetResetCalibrationStatus(ADC1));
ADC_StartCalibration(ADC1);
while (ADC_GetCalibrationStatus(ADC1));
}
#define ADC_Mode_Independent ((uint32_t)0x00000000)
#define ADC_Mode_RegInjecSimult ((uint32_t)0x00010000)
#define ADC_Mode_RegSimult_AlterTrig ((uint32_t)0x00020000)
#define ADC_Mode_InjecSimult_FastInterl ((uint32_t)0x00030000)
#define ADC_Mode_InjecSimult_SlowInterl ((uint32_t)0x00040000)
#define ADC_Mode_InjecSimult ((uint32_t)0x00050000)
#define ADC_Mode_RegSimult ((uint32_t)0x00060000)
#define ADC_Mode_FastInterl ((uint32_t)0x00070000)
#define ADC_Mode_SlowInterl ((uint32_t)0x00080000)
#define ADC_Mode_AlterTrig ((uint32_t)0x00090000)
/**
* @brief Configures for the selected ADC regular channel its corresponding
* rank in the sequencer and its sample time.
* @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral.
* @param ADC_Channel: the ADC channel to configure.
* This parameter can be one of the following values:
* @arg ADC_Channel_0: ADC Channel0 selected
* @arg ADC_Channel_1: ADC Channel1 selected
* @arg ADC_Channel_2: ADC Channel2 selected
* @arg ADC_Channel_3: ADC Channel3 selected
* @arg ADC_Channel_4: ADC Channel4 selected
* @arg ADC_Channel_5: ADC Channel5 selected
* @arg ADC_Channel_6: ADC Channel6 selected
* @arg ADC_Channel_7: ADC Channel7 selected
* @arg ADC_Channel_8: ADC Channel8 selected
* @arg ADC_Channel_9: ADC Channel9 selected
* @arg ADC_Channel_10: ADC Channel10 selected
* @arg ADC_Channel_11: ADC Channel11 selected
* @arg ADC_Channel_12: ADC Channel12 selected
* @arg ADC_Channel_13: ADC Channel13 selected
* @arg ADC_Channel_14: ADC Channel14 selected
* @arg ADC_Channel_15: ADC Channel15 selected
* @arg ADC_Channel_16: ADC Channel16 selected
* @arg ADC_Channel_17: ADC Channel17 selected
* @param Rank: The rank in the regular group sequencer. This parameter must be between 1 to 16.
* @param ADC_SampleTime: The sample time value to be set for the selected channel.
* This parameter can be one of the following values:
* @arg ADC_SampleTime_1Cycles5: Sample time equal to 1.5 cycles
* @arg ADC_SampleTime_7Cycles5: Sample time equal to 7.5 cycles
* @arg ADC_SampleTime_13Cycles5: Sample time equal to 13.5 cycles
* @arg ADC_SampleTime_28Cycles5: Sample time equal to 28.5 cycles
* @arg ADC_SampleTime_41Cycles5: Sample time equal to 41.5 cycles
* @arg ADC_SampleTime_55Cycles5: Sample time equal to 55.5 cycles
* @arg ADC_SampleTime_71Cycles5: Sample time equal to 71.5 cycles
* @arg ADC_SampleTime_239Cycles5: Sample time equal to 239.5 cycles
* @retval None
*/
Пт авг 12, 2016 15:12:22
Пт авг 12, 2016 15:21:52
СЦБист писал(а):где-то видел (не помню где) что это все имеется в справочной документации
Документация находится в архиве с библиотекой SPL (ссылка для семейства F10x) http://www.st.com/content/st_com/en/pro ... 32054.htmlМурик писал(а):На сайте ST следует поискать документацию на библиотеку SPL интересующего семейства (например STM32F10x).