Например TDA7294

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





Текущее время: Чт июл 17, 2025 14:29:37

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


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



Начать новую тему Ответить на тему  [ Сообщений: 3623 ]     ... , , , 143, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Вт май 01, 2018 17:00:27 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
толку нет

с этим я уже ранее согласился, как впрочем и от простого мигания светодиодом тоже толку нет - это ж хэлловорлд, в данном случае предельно упрощенный. В исходнике не только одна инструкция есть еще директивы ассемблера (указатель на вершину стека, указатель на начало основной программы) - без них даже одна инструкция может не заработать.
Компилируют в IDE или с помощью makefile

тут тоже согласен, но знание командной строки не помешает (имхо) и автор пишет же "для сборки проекта буду использовать утилиту make", т.е. продолжение следует
В этой статье гораздо больше написано

ну тут, если сравнивать описание прошивки в Линукс "в этой статье":
Код:
sudo ./st-flash --reset write dump.bin 0x8000000

у автора ранее обсуждаемой статьи практически то же самое:
Код:
st-flash write ./main.bin 0x08000000

все очень просто (без тыканмй кнопочек в оконном приложении) лишь Линуксы разные и в первом случае добавлена комманда reset. Автор обещал расписать как в Убунте прошивать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Вт май 01, 2018 19:13:43 
Друг Кота

Карма: 20
Рейтинг сообщений: 223
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6443
Рейтинг сообщения: 3
ну дают - у китайцев акция - Bluetooth модуль E73-2G4M04S за US $2.55.
Изображение
Внутри чип nRF52832.

А вот и светодиодом помигать для него. Ровно две строчки кода:

Код:
#include "nrf.h"
int main(void) {
  NRF_GPIO->PIN_CNF[25] = NRF_CLOCK->TASKS_LFCLKSTART = NRF_RTC0->TASKS_START = 1;
  while (1) NRF_GPIO->OUT = NRF_RTC0->COUNTER * 2048;
}

ассемблерный листинг для ценителей:

Код:
     6:         NRF_GPIO->PIN_CNF[25] = NRF_CLOCK->TASKS_LFCLKSTART = NRF_RTC0->TASKS_START = 1;
0x00000598 4906      LDR           r1,[pc,#24]  ; @0x000005B4
0x0000059A 2001      MOVS          r0,#0x01
0x0000059C 6008      STR           r0,[r1,#0x00]
0x0000059E 0781      LSLS          r1,r0,#30
0x000005A0 6088      STR           r0,[r1,#0x08]
0x000005A2 4905      LDR           r1,[pc,#20]  ; @0x000005B8
0x000005A4 6008      STR           r0,[r1,#0x00]
     7:   while (1) NRF_GPIO->OUT = NRF_RTC0->COUNTER * 2048;
0x000005A6 4905      LDR           r1,[pc,#20]  ; @0x000005BC
0x000005A8 4805      LDR           r0,[pc,#20]  ; @0x000005C0
0x000005AA 680A      LDR           r2,[r1,#0x00]
0x000005AC 02D2      LSLS          r2,r2,#11
0x000005AE 6002      STR           r2,[r0,#0x00]
0x000005B0 E7FB      B             0x000005AA


Мигание светодиода с частотой 1 Гц обеспечивают, по сути, последние четыре команды.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Ср май 02, 2018 08:45:48 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
журнал для разработчиков "Новости Электроники" №3'18

Третий номер «Новостей электроники» - информация об измерениях и их передаче по беспроводной сети. Датчики: протечки, давления, влажности. Беспроводные микроконтроллеры. Типовой проект беспроводного электросчетчика от ST. И – стандартные 32-разрядные промышленные МК от Infineon, но – с поддержкой EtherCAT.
Содержание номера:
1. Статья «Решения STMicroelectronics для интеллектуальных счетчиков электроэнергии»
Беспроводной электросчетчик? У STMicroelectronics есть типовое решение на основе малопотребляющих микроконтроллеров STM, модуля проводной связи STCOMET, широкополосных передающих модулей и программно-аппаратных средств защиты информации. Плюс – видео от эксперта по современной электронике Алексея Ялаева!
2. Статья «Какое решение TI Bluetooth выбрать?»
Два решения для сети Bluetooth от Texas Instruments. Двухрежимный трансивер CC256x и BLE-контроллер СС26хх. Каковы критерии выбора?
3. Статья «Практическое знакомство с CC2640R2F»
Новый беспроводной контроллер СС2640R2F- первое сертифицированное решение для BLE 5.0. То есть – повышенная скорость передачи и увеличенная дальность. О других его секретах читайте в статье.
4. Статья «TI говорит беспроводное «нет» протечкам и замерзанию»
Новая опорная разработка Texas Instruments – датчик протечек и замерзания на базе беспроводного контроллера CC1310 и интегрального датчика температуры и влажности HDC2010. Работает от одной батареи 11 лет и предупреждает хозяев дома об аварии.
5. Статья «Измерение влажности – как повысить точность?»
Texas Instruments выпускает датчики влажности HDC. Они позволяют выполнять измерения с погрешностью ±2% в широком диапазоне температур. Как применять их, чтобы не загубить заявленную точность измерения?
6. Статья «Удивительный датчик давления фитнес-трекера Gear Fit2 Pro»
Фитнес-трекеры превратились из гаджета для развлечения в точные портативные приборы, показаниям которых можно доверять. Не в последнюю очередь – благодаря новым точным и компактным интегральным датчикам. Датчик давления LPS33HW от STMicroelectronics – один из ярких примеров.
7. Статья «Микроконтроллеры Infineon: 32 разряда для любых промышленных применений»
Микроконтроллеры XMC1000 и XMC4000 от Infineon – качественные стандартные 32-разрядные изделия для индустриального рынка с достаточно развитой периферией.
https://www.compel.ru/lib/ne/2018/3


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Ср май 02, 2018 09:37:42 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23905
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
6. Статья «Удивительный датчик давления фитнес-трекера Gear Fit2 Pro»

Я грешным делом решил, что в области измерения КРОВЯНОГО давления достигнут прорыв. Однако нет, речь совсем о другом.


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Ср май 02, 2018 13:57:12 
Собутыльник Кота
Аватар пользователя

Карма: -22
Рейтинг сообщений: -41
Зарегистрирован: Вс окт 02, 2016 07:34:45
Сообщений: 2976
Рейтинг сообщения: 0
1. Статья «Решения STMicroelectronics для интеллектуальных счетчиков электроэнергии»
Беспроводной электросчетчик? У STMicroelectronics есть типовое решение на основе малопотребляющих микроконтроллеров STM, модуля проводной связи STCOMET, широкополосных передающих модулей и программно-аппаратных средств защиты информации. Плюс – видео от эксперта по современной электронике Алексея Ялаева!

http://brain-dom.ru/
Твердотельное реле на симисторах своими руками
:music:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Чт май 03, 2018 01:37:14 
Первый раз сказал Мяу!

Зарегистрирован: Вт дек 12, 2017 16:52:57
Сообщений: 31
Откуда: Вам широту и долготу скинуть?
Рейтинг сообщения: 0
На Хабре интересная статейка для тех кто хочет докопаться (имхо)
Программирование stm32f103 с самых основ
Цитата:
В статье я хотел бы описать шаги на пути к написанию прошивки для микроконтроллеров stm32 без использования специальных сред разработки типа keil, eclipse и тому подобных. Я опишу подготовку прошивки с самых основ, начиная с написания загрузчика на ассемблере, скрипта для линкера и заканчивая основной программы на C. В коде на C буду использовать заголовочные файлы из CMSIS.

https://habr.com/post/354670/?utm_sourc ... ign=354670
з.ы. в Виндовсе тоже можно собрать - создал простенький cmd файлик:
Код:
c:\SysGCC\arm-eabi\bin\arm-eabi-as -o bootstrap.o bootstrap.s
c:\SysGCC\arm-eabi\bin\arm-eabi-ld -o main.elf -T stm32f103.ld bootstrap.o
c:\SysGCC\arm-eabi\bin\arm-eabi-objcopy main.elf main.bin -O binary
pause

использовал toolchain ARM от SysProgs:
http://gnutoolchains.com/download/
У меня идея. Раздербанить на ассемблерный код мигалку при помощи адресов (без cmsis и прочих библиотек)? "Продолжим" статью про Assembler + STM32F103C8T6 :)))

_________________

ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа, I love this.ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа



Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Чт май 03, 2018 07:37:57 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
было уже на Хабре про мигалку на ассемблере, правда STM32F4:
https://habr.com/post/274579/
последняя часть (тут ссылки на все части):
https://habr.com/post/276121/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Чт май 03, 2018 07:42:53 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
мда... что-то пичалька в теме-то... из бодрой проповеди светлого будущего ARM скатилась в УГ мигания на ассемблере "у кого меньше"... где бравые рекламные лозунги, где реклма новых плат разработчика, где описание никому не нужных приборов ИОТ?! что за деградация?!

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Чт май 03, 2018 12:13:55 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
да не вопрос
Хорошая (имхо) линейка рядовых 48МГц микроконтроллеров от Renesas (14 бит АЦП! 12 бит ЦАП)
S3A1 MCU Group offers ample room for expansion and the optimal combination of low power and high performance, with an Arm® Cortex®-M4 CPU core running up to 48 MHz, 1 MB of flash memory, and 192 KB of SRAM. It includes an additional 12-bit D/A Converter as well as multiple 32-Bit General PWM timers and serial communications interfaces.

Например самый простенький R7FS3A17C3A01CFM, характеристики:
СпойлерFamily Synergy MCU
Series S3 Series
Group S3A1
CPU M4
Max. Freq (MHz) 48
Code Flash (KB) 1024
Data Flash (KB) 8
SRAM (KB) 192
Pin Count 64
I/O Count 52
Operating Voltage Range (V) 1.6 - 5.5
Package Type LQFP
Operating Temperature Range (degC) -40 to 105
General PWM Timer 32-Bit Enhanced High Resolution (ch) 0
General PWM Timer 32-Bit Enhanced (ch) 0
General PWM Timer 32-Bit (ch) 4
General PWM Timer 16-Bit (ch) 6
Asynchronous General purpose Timer 2
Watchdog Timer 1
Independent Watchdog Timer 1
DMA Controller (ch) 4
Data Transfer Controller 1
RTC 1
14-Bit A/D Converter (unit) 1
14-Bit A/D Converter (ch) 18
12-Bit A/D Converter (unit) 0
12-Bit D/A Converter (ch) 1
8-Bit D/A Converter (ch) 2
High-Speed Analog Comparator (ch) 0
Low-Power Analog Comparator (ch) 2
PGA (ch) 0
OPAMP (ch) 3
Temperature Sensor (ch) 1
Ethernet MAC Controller (port) 0
USBFS YES
CAN (ch) 1
SD/MMC Host Interface (ch) 0
Serial Communication Interface (ch) 6
IrDA 0
SPI (ch) 2
I2C (ch) 2
Serial Sound Interface (ch) 0
Graphics LCD Controller YES
Segment LCD Controller 4 com x 17 seg and 4 com/seg
Capacitive Touch Sensing Unit (ch) 24
Safety YES
Security and Encryption YES
Security and Encryption (Remarks) 128-bit Unique ID TRNG AES(128/256) GHASH


и отладочная есть :))) :
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Чт май 03, 2018 15:11:26 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ну вот, другое дело.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Сб май 05, 2018 07:50:20 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Компания Lilygo сделала еще одну плату ESP32 частью семейства TTGO — плата TTGO T5 на базе чипа ESP32 от компании Espressif System, который обеспечивает подключение пользовательских устройств к интернет-сети по Wi-Fi и Bluetooth и с возможностью выбора ePaper дисплеев размером от 1,54 до 2,3 дюйма, а также встроенным динамиком.
Изображение
Спецификации платы TTGO T5:
Спойлер* SoC — Espressif ESP32 двухъядерный процессор Tensilica LX6 с WiFi 802.11 b/g/n и Bluetooth 4.1 LE
* Хранилище — слот для карт Micro SD
* Дисплей (один из перечисленных)
-- 1,54" 200 x 200 черно-белый дисплей ePaper; полное время обновления — 2 секунды
-- 2,13" 250 x 122 черно-белый дисплей ePaper; полное время обновления — 2 секунды
-- 2,7" 264 x 176 черно-белый дисплей ePaper; полное время обновления — 6 секунд
-- 2,9" 296 x 128 черно-белый дисплей ePaper; полное время обновления — 2 секунды
-- Угол обзора -> 170 °
-- Потребляемая мощность — Refresh: 26,4 мВт (тип.); режим ожидания: <0,017 мВт
-- Подключается через интерфейс SPI
* Аудио — мини-динамик
* Расширение — 24-контактный разъем с GPIO, UART, динамиком +/-, VP / VN, VBAT, 3,3 В, GND
* Разное — 3 кнопки пользователя, кнопка сброса, выключатель питания
* Напряжение питания — 5 В через порт micro USB; разъем аккумулятора

документация, исходники:
https://github.com/LilyGO/TTGO-T5-ePaper1.54


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Вс май 06, 2018 15:17:36 
Первый раз сказал Мяу!

Зарегистрирован: Вт дек 12, 2017 16:52:57
Сообщений: 31
Откуда: Вам широту и долготу скинуть?
Рейтинг сообщения: 0

Всем привет! Реши, что надо скачать официальную Atmel Studio 7 (на**р Arduino IDE!1! :))) )... скачал установщик... ставил 1 час на SSD и вот, заветное создание блинка для Arduino Mega...
Занимает простенький блинк для Меги 282 байта (~0.1%), но для ATTiny13A он занимает все 68 байт (~6.6%)! ДА ЭТО ЖЕ ВОЗМУТИТЕЛЬНО!!!
Ну всё, пора в ассемблер, но тут меня настигло "Да чё это за ...?! Я ... не понимаю!". Гугление вообще меня расстроило.
Может у кого есть код на асме для ATTiny13A, чтобы помигать светодиодом на пине PB0 раз в секунду? Желательно с объяснениями!!!

Чуть не забыл! Код на СИ для ATTiny13A снизу в спойлере:

Спойлер
Код:
#define F_CPU 16000000UL

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
   DDRB |= 00000001;
   while (1)
   {
      PORTB ^=  00000001;
      _delay_ms(1000);
   }
}
Компиляция:
Код:
------ Build started: Project: ATTiny13A, Configuration: Debug AVR ------
Build started.
Project "ATTiny13A.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files\Atmel\Studio\7.0\Vs\Compiler.targets" from project "C:\Users\{Скрыто}\Documents\Atmel Studio\7.0\ATTiny13A\ATTiny13A\ATTiny13A.cproj" (target "Build" depends on it):
   Task "RunCompilerTask"
      Shell Utils Path C:\Program Files\Atmel\Studio\7.0\shellUtils
      C:\Program Files\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 2 --output-sync
      make: Nothing to be done for 'all'.
   Done executing task "RunCompilerTask".
   Task "RunOutputFileVerifyTask"
            Program Memory Usage    :   68 bytes   6.6 % Full
            Data Memory Usage       :   0 bytes   0.0 % Full
   Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "ATTiny13A.cproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files\Atmel\Studio\7.0\Vs\Avr.common.targets" from project "C:\Users\{Скрыто}\Documents\Atmel Studio\7.0\ATTiny13A\ATTiny13A\ATTiny13A.cproj" (entry point):
Done building target "Build" in project "ATTiny13A.cproj".
Done building project "ATTiny13A.cproj".

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========


_________________

ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа, I love this.ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа



Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Вс май 06, 2018 15:47:24 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3377
Рейтинг сообщения: 0
Lublu_megy писал(а):
Может у кого есть код на асме для ATTiny13A, чтобы помигать светодиодом на пине PB0
Для PB1. viewtopic.php?p=3354381#p3354381


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Вс май 06, 2018 16:08:44 
Первый раз сказал Мяу!

Зарегистрирован: Вт дек 12, 2017 16:52:57
Сообщений: 31
Откуда: Вам широту и долготу скинуть?
Рейтинг сообщения: 0
Lublu_megy писал(а):
Может у кого есть код на асме для ATTiny13A, чтобы помигать светодиодом на пине PB0
Для PB1. viewtopic.php?p=3354381#p3354381
Ничего не понятно! Чтобы помигать нужны вычисления? ЗАЧЕМ???

_________________

ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа, I love this.ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа



Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Вс май 06, 2018 16:34:14 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3377
Рейтинг сообщения: 0
Какие вычисления?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Пн май 07, 2018 00:22:29 
Первый раз сказал Мяу!

Зарегистрирован: Вт дек 12, 2017 16:52:57
Сообщений: 31
Откуда: Вам широту и долготу скинуть?
Рейтинг сообщения: 0
Какие вычисления?

Вот:
Код:
;
      .DSEG
     
      .CSEG
.ORG   0

      ldi      yl,low(RAMEND)
      out      SPL,yl
      sbiw   yl,16

      in      zl,PORTB
      ldi      r23,0x02
      eor      zl,r23
      out      portb,zl

      ldi      zl,low(1000)
      ldi      zh,high(1000)
      rcall   _Wms

L0001:

;****** END OF USER BASIC CODE ****************


;
_Wms:   ldi      r20,0x14
_Wms1:   ldi      r21,0x11
_Wms2:   dec      r21
      brne   _Wms2
      dec      r20
      brne   _Wms1
      dec      zl
      brne   _Wms
      ret
_Wms:   ldi      r20,0x14
_Wms1:   ldi      r21,0x11
_Wms2:   dec      r21
      brne   _Wms2
      dec      r20
      brne   _Wms1
      dec      zl
      brne   _Wms
      ret

_________________

ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа, I love this.ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа



Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Пн май 07, 2018 10:37:12 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3377
Рейтинг сообщения: 0
Это то что вы просили - код на асме мигающий светодиодом. Его можно скомпилировать с помощью avrasm32.exe.
То что вы выложили отличается от оригинала.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Вт май 08, 2018 08:42:03 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
еще в тему миганий светодиодом на tiny13 (на С)
с прерыванием по таймеру:
нужны "вычисления", допустим тактовая 1,2 МГц:
Если пределитель установлен на значение 1024, регистр таймера увеличивается на 1172 раза в секунду (1,2 МГц / 1024), 8-бит таймер (/255) переполняется 4,6 раза в секунду.

Спойлер
Код:
#include <avr/io.h>
#include <avr/interrupt.h>

volatile uint8_t counter = 0; // interrupt needs volatile variable

ISR(TIM0_OVF_vect)
{
   if (++counter > 5)
   {
      // interrupt occurs 4.6 times per second
      // Toggle Port B pin 3 output state
      PORTB ^= 1 << PB3; // Toggle Port PB3
      counter = 0;  //reset the counter
   }
}

int main()
{
   // Set up Port B pin 3 mode to output by setting the proper bit
   // in the DataDirectionRegisterB
    DDRB = 1 << DDB3;

   // set prescale timer to 1/1024th
   TCCR0B |= (1 << CS02) | (1 << CS00); // set CS02 and CS00 bit in TCCR0B

   // enable timer overflow interrupt
   TIMSK0 |= 1 << TOIE0; // left shift 1 to TOIE0 and OR with TIMSK
   //  = set TOIE0 bit
   sei();  //start timer
   while(1);
}


Еще, с ватчдогом:
Спойлер
Код:
#include <avr/interrupt.h>
#include <avr/sleep.h>

ISR(WDT_vect)
{
   // Toggle Port B pin 3 output state
   PORTB ^= 1 << PB3;
}

void main()
{
   // Set up Port B as Input
   DDRB = 0;   // usually not necessary but it will save current
   // Set Port B pin 3 mode back to output
   DDRB = 1 << DDB3;

   //set timer to 1 sec
   WDTCR |= (0 << WDP3) | (1 << WDP2) | (1 << WDP1) | (0 << WDP0);
   // set timer to 0.5s
   // WDTCR |= (1<<WDP2) | (1<<WDP0);
   // set timer to 4 sec
   // WDTCR |= (1<<WDP3);

   // Set watchdog timer in interrupt mode
   WDTCR |= (1 << WDTIE);
   WDTCR |= (0 << WDE);
   sei();   // Enable global interrupts

   set_sleep_mode(SLEEP_MODE_PWR_DOWN);
   while (1)
   {
      sleep_mode();     // go to sleep and wait for interrupt...   
   }
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Вт май 08, 2018 14:22:25 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
интересно, oleg110592, вы вообще сами код пишите или занимаетесь только компиляцией чужих кодов? или написание вашего кода сводится только к Ctrl-C/Ctrl-V?
oleg110592 писал(а):
// interrupt needs volatile variable
с чего вдруг?
Код:
ISR(TIM0_OVF_vect){
   static uint8_t counter = 5; // и не надо volatile
   ...
}
про toggle pin для attiny13 я уже писал

ну и хоть я и не уверен на 100%, но должен сработать такой код мигания
Код:
#include <avr/io.h>

static uint8_t pins __attribute__((section('.noinit')));

int main(void){
   pins ^= 255;
   DDRB = pins;
   PORTB = pins;
}
если WDT включить напостоянку фьюзами

Добавлено after 3 hours 41 minute 1 second:
я тут подумал, подумал... для attiny13 можно помигать еще проще
Код:
#include <avr/io.h>

static uint8_t pins __attribute__((section('.noinit')));

int main(void){
   pins ^= 255;
   DDRB = pins;
}

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Мигать светодиодом. ARM или не-ARM?
СообщениеДобавлено: Ср май 09, 2018 01:08:01 
Первый раз сказал Мяу!

Зарегистрирован: Вт дек 12, 2017 16:52:57
Сообщений: 31
Откуда: Вам широту и долготу скинуть?
Рейтинг сообщения: 0

Всем привет! Решил сделать недо-библиотеку, но при компиляции выдаётся ошибка, что pin13 не декларированный (хотя он прописан) и на этом компиляция завершается. Вроде сделал всё правильно, но если не работает, значит я накасячил. Тыкните пожалуйста в косяк.
Ошибка в полном виде: Error 'pin13' undeclared (first use in this function). (Указывает на DDRB в int main)



main.c:
Спойлер
Код:
#include "config.h"

#define Arduino_UNO


int main(void)
{
    /* Replace with your application code */
   DDRB |= pin13;
    while (1)
    {
      PORTB ^= pin13;
      _delay_ms(1000);
    }
}

config.h:
Спойлер
Код:
#ifndef CONFIG_H
   #define CONFIG_H

   #define F_CPU 16000000UL   //CPU frequency for all 8-bit arduino

   #include <util/delay.h>
   #include <avr/io.h>
   
   #ifdef Arduino_UNO
      /* === Defines === */
         #define pin13 0x20
      /* === ======= === */
   #endif

#endif

_________________

ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа, I love this.ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа



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

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


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

Сейчас этот форум просматривают: Ferropont, Крым, Муркиз и гости: 29


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

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


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