7.13.6 Руководство пользователя Altistart 48Igor GolovinРуководство пользователя Altistart 48 - в данном документе найдете для себя всю необходимую информацию по вводу в эксплуатацию устройства плавного пуска низкого напряжения.
7.13.7 Руководство пользователя Altistart 48 протокол ModbusIgor GolovinРазъем Modbus устройства плавного пуска Altistart 48 может быть использован для выполнения следующих функций:
• конфигурирование;
• настройка;
• управление;
• контроль.
ATS48 поддерживает:
• физическую среду RS485;
• режим Modbus RTU.
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213Слайды лекции курса "Архитектура и программирование потоковых многоядерных процессоров для научных рассчетов".
7.13.6 Руководство пользователя Altistart 48Igor GolovinРуководство пользователя Altistart 48 - в данном документе найдете для себя всю необходимую информацию по вводу в эксплуатацию устройства плавного пуска низкого напряжения.
7.13.7 Руководство пользователя Altistart 48 протокол ModbusIgor GolovinРазъем Modbus устройства плавного пуска Altistart 48 может быть использован для выполнения следующих функций:
• конфигурирование;
• настройка;
• управление;
• контроль.
ATS48 поддерживает:
• физическую среду RS485;
• режим Modbus RTU.
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213Слайды лекции курса "Архитектура и программирование потоковых многоядерных процессоров для научных рассчетов".
описание процессор спутникАндрей МаринПредставлено описание радиационно-стойкого процессора "Спутник" разработанного ООО "НПП "Цифровые решения" совместно с ОАО "Ангстрем".
Tech Talks @NSU: Как приручить дракона: введение в LLVMTech Talks @NSUhttp://techtalks.nsu.ru
Видеозапись: http://www.youtube.com/watch?v=v7uBLSm6ft8
06 октября 2015. Как приручить дракона: введение в LLVM (Дмитрий Кашицын, HDsoft)
«В этом докладе мы кратко расскажем о таком звере, о котором много кто слышал, но немногие щупали. Что такое компилятор на самом деле? Чем LLVM отличается от других компиляторов? Как в LLVM происходит компиляция программы, как работают оптимизации? Наконец, какой путь проходит программа от разбора исходного текста до генерации исполняемого файла?
Лекция будет обзорной и не потребует от слушателей глубоких знаний теории компиляторов.»
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Как приручить дракона: введение в LLVMTech Talks @NSU10 июня 2015. Дмитрий Кашицын (HDsoft) дает обзор LLVM.
http://techtalks.nsu.ru
Видеозапись: https://plus.google.com/events/ctes98f7uhf19t5jlvlbk24dan4
В этом докладе мы кратко расскажем о таком звере, как LLVM, о котором много кто слышал, но немногие щупали. Что такое компилятор на самом деле? Чем LLVM отличается от других компиляторов? Как в LLVM происходит компиляция программы, как работают оптимизации? Наконец, какой путь проходит программа от разбора исходного текста до генерации исполняемого файла?
Лекция будет обзорной и не потребует от слушателей глубоких знаний теории компиляторов.
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Гирлянда для программистовGetDev.NETНескучная гирлянда на новогодние праздники и приятная подсветка в течение года. Программируем ардуино со смартфона по блютусу.
Материалы со встречи:
https://getdev.net/Event/arduino
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail KurnosovОптимизация ветвлений и циклов (Branch prediction and loop optimization)
Обзор современных микроконтроллеров и их архитектурIoT Community2-ая часть From Zero to IoT Hero: доклад - Обзор современных микроконтроллеров и их архитектур, Обзор архитектуры ARM.
1-ая часть доклада
Хотя ARM контроллеры можно встретить везде и повсюду, существует и достаточно активно используются и другие типы микроконтроллеров - например экосистема Arduino с контроллерами Atmel. Обзор и небольшое сравнение современных типов микроконтроллеров.
2-ая часть доклада
ARM - самая распространенная архитектура контроллеров для встраиваемых устройств. Почему так? Потому что они простые и очень эффективные. В докладе подробно разобрано, как они устроены.
Спикер: Александр Сурков
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail KurnosovОптимизация ветвлений и циклов (Branch prediction and loop optimization)
3. 3
1. Регистры АЦП STM32.
Периферийные регистры должны быть записаны на уровне
слова (32 бита). Чтение доступа может выполняться
байтами (8 бит), полусловами (16 бит) или словами (32
бита)
4. 4
1. SR – содержит флаги, указывающие на состояние АЦП.
2. CR1, CR2 – управляющие регистры, задают режим работы.
3. SMPR1, SMPR2 – задают время преобразования.
4. JOFR1…JOFR2 – определяют смещение данных в
инжектированной группе (ух, как сложно воспринимается при
первом прочтении).
5. HTR, LTR – задают верхнее и нижнее значение срабатывания
оконного компаратора.
6. SQR1…SQR3 – задают последовательность каналов
регулярной группы.
7. JSQR – задает последовательность каналов инжектированной
группы.
8. JDR1…JDR4 – регистры данных инжектированной группы.
9. DR – регистр данных регулярной группы.
17. 17
2. Пример работы АЦП STM32.
1) Включить тактирование порта А
2) Настроить ногу PA1 как вход без подтяжки (по
умолчанию она уже в таком состоянии)
3) Включить тактирование АЦП
4) Начать калибровку и дождаться её завершения
5) Добавить канал ADC1 в состав инжектированной группы
6) Выбрать источником запуска бит JSWSTART
7) Активировать режим непрерывного преобразования
8) Включить АЦП
9) Запустить преобразование
10) Дождаться завершения первого преобразования
11) Прочитать результат
20. 20
int main(void)
{
GPIO_InitTypeDef PORT; //Включаем порты А
RCC_APB2PeriphClockCmd((RCC_APB2Periph_GPIOC |
RCC_APB2Periph_GPIOA) , ENABLE); //Настраиваем ноги PC8 и PC9 на
выход. Там у нас висят светодиоды
PORT.GPIO_Pin = (GPIO_Pin_9 | GPIO_Pin_8);
PORT.GPIO_Mode = GPIO_Mode_Out_PP;
PORT.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init( GPIOC , &PORT);
//Порт A настраивать смысла нет, все его ноги по умолчанию входы
что нам и нужно
RCC_APB2PeriphClockCmd(RCC_APB2ENR_ADC1EN, ENABLE);
//Включаем тактирование АЦП
ADC1->CR2 |= ADC_CR2_CAL; //Запуск калибровки АЦП
while (!(ADC1->CR2 & ADC_CR2_CAL)); //Ожидаем окончания
калибровки
ADC1->SMPR2 |= (ADC_SMPR2_SMP1_2 | ADC_SMPR2_SMP1_1 |
ADC_SMPR2_SMP1_0); //Задаем длительность выборки
21. 21
ADC1->CR2 |= ADC_CR2_JEXTSEL; //Преобразование нжектированной
группы запустится установкой бита JSWSTART
ADC1->CR2 |= ADC_CR2_JEXTTRIG; //Разрешаем внешний запуск
инжектированной группы
ADC1->CR2 |= ADC_CR2_CONT; //Преобразования запускаются одно
за другим
ADC1->CR1 |= ADC_CR1_JAUTO; //Разрешить преобразование
инжектированной группы
ADC1->JSQR |= (1<<15); //Задаем номер канала (выбран ADC1)
ADC1->CR2 |= ADC_CR2_ADON;//Теперь включаем АЦП
ADC1->CR2 |= ADC_CR2_JSWSTART; //Запуск преобразований
while (!(ADC1->SR & ADC_SR_JEOC)) ; //ждем пока первое
преобразование завершится
//Теперь можно читать результат из JDR1
uint32_t adc_res; // переменную для отладки