PDA

Просмотр полной версии : Программирование в Bascom для Arduino( сишники идут полем)



Smalovsky
04.01.2017, 14:34
Скачал модный Bascom.
Большой плюс "Баскова" - поддержка загрузчика ардуино через usb.
Набросал програмку для меги128:

Rem Programm barsik
Stop Watchdog
Rem отключил сторожевой таймер
Ddrb = &B11111111
Ddra = &B11111111
Portb = 0
Porta = 0
On Timer0 Timercount
Dim A(10) As Integer
Dim I As Byte
Tcnt0 = 0
Timsk = 1
Tccr0 = 1
Enable Interrupts
Do
For I = 0 To 10
A(i) = A(i) + I
Portb = Low(a(i))
Next I
Loop
Timercount:
Porta = I
Return
End

Тестировал в отладчике. Работает. Собственно вопрос - такой стиль обращения к внутренним портам непосредственно приемлем? Мне просто так удобней чем при использовании конфигов бейсика.
Может кто поделится какими ссылками на интересные проекты с использованием баскома для авра. Желательно начального уровня, так как ардуино я купил сравнительно недавно( осенью).

- - - Добавлено - - -

Нашёл ошибку в индексе и исправил. В баскоме индексы массивов начинаются с 1. Так что в цикле начальное значение 1.
Такая ошибка от вредного влияния си...)) Что интересно - компилятор пропустил и программа не рухнула.

JV-Soft
04.01.2017, 17:35
Вот проектик я делал решив как то пописать на Bascom :D - Поворотная антенна с метеостанцией (http://p45.at.ua/forum/3-2-1)

- - - Добавлено - - -

На счет СИ шников полем, в Bascom можно вполне удачно пользоваться приемами СИ.

Smalovsky
11.01.2017, 01:43
Хочу изучить управление bldc-мотором( не путать с pmsm - разные формы напряжений на фазах).
Простые проекты найденные в сети имеют недостатки. Например, скорость вращения ротора никак не регулируется в заданном диапазоне - двигатель просто разгоняется до максимума(http://radiokot.ru/forum/viewtopic.php?p=1670220), или используются специфические библиотеки.
Есть ли простой проект с регулировкой скорости по заданному значению?
Ссылки по теме:
http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR492.htm
http://radioparty.ru/prog-avr/program-c/611-lesson-bldc-sensorless
http://www.avislab.com/blog/brushless04/

- - - Добавлено - - -


А не сишник ли ты часом?..
http://animalworld.com.ua/images/2016/February/Animals/Grumpy/grumpy_cat-1.jpg

Smalovsky
13.01.2017, 22:47
Почему я решил выбрать бейсик?
Ну во первых, сам компилятор занимает около 25 мб. Во вторых, есть система справок + русскоязычное сообщество.
Ну и я случайно нашёл кое какую инфу о языках программирования. Как бы небольшое расследование о языках программирования и ЭВМ.
В истории ЭВМ и языков программирования есть много странного... Например, Тьюринг, один из основоположников ЭВМ, пишут историки, был гомиком и ,вероятно, самоубийцей. Неприятное начало для истории ЭВМ.
Но вот, что меня смутило. Известно, что языком программирования от которого берут начало современные языки программирования называется алгол( сокращение от алгоритмик лэнгвидж). Ну вроде, и название алгола вроде бы логично - сокращение от алгоритмический язык. Но есть одно но. Значительное но...
сишники доиграются (https://biguniverse.ru/posts/algol-zvezda-dyavola-iz-sozvezdiya-perseya/)
Вообще, эту звезду связывают с потерей головы(поисковики в помощь. я пас.). Запомним этот факт.
Хотя, может, это только совпадение? Но мне это всё неприятно.
Зачем я подписал ссылку "сишники доиграются"? А дело в том, что язык си является потомком алгола! Вот некоторый факт -
"Язык Си восходит корнями к языку ALGOL (расшифровывается как ALGorithmic Language), который был создан в 1958 году совместно с комитетом Европейских и Американских учёных в сфере компьютерных наук на встрече в Швейцарской высшей технической школе Цюриха. Язык был ответом на некоторые недостатки языка FORTRAN и попыткой их исправить. Кроме того, разработка Си тесно связана с созданием операционной системы UNIX, над которой также работали Кен Томпсон и Деннис Ритчи."
Короч, алгол -> cpl -> bcpl -> b -> c. Такая история языка си.
Теперь поговорим об униксе. Итак, для упрощения разработки уникса был придуман и использован язык си. Однако и тут есть странности. Так в униксе есть такие понятия и единицы как демоны. Что-то совсем странное с этими ЭВМ! В ЭВМ очень много совпадений с областью оккультного или много заимствований из этой области!
Я просил запомнить вас тот факт, что мрачная звезда связана с потерей головы. Не буду ничего объяснять. Только откройте ссылку и почитайте:
взгляд инсайдера (http://ain.ua/programmirovanie-otstoj-a-programmisty-psixi-mnenie-insajdera)
Ну, и где-то я читал, что у программистов си намного больше психических расстройств чем у других программистов.
Вы можете не соглашаться. Можете считать это всё совпадениями.

Итак, почему же бейсик? Бейсик придуман в 1964 году, то есть за четыре года до появления алгола. Так как бейсик не ведёт от начала от алгола, то по этой причине я и выбрал этот язык для программирования контроллеров. Да и звучит как Бей-си-к(бей си, для тех кто не понял).

JV-Soft
13.01.2017, 23:19
Smalovsky, Извини, я не сдержался :)


https://www.youtube.com/watch?v=3hwSgSARNUw

creator
13.01.2017, 23:27
Да и звучит как Бей-си-к(бей си, для тех кто не понял).
Короче тоже бес. :)

SoftFelix
14.01.2017, 00:30
Я в 2011-ом году вот этот проект (http://c2.at.ua/load/avr/cifrovoj_manometr_mk_atmega8_led_2kh3/17-1-0-74) повторил с небольшой доработкой (http://www.priorovod.ru/showpost.php?p=1595797&postcount=5). До сих пор в машине работает. :) Даже исходник как-то сам правил, но сейчас всё подзабыл.

JV-Soft
14.01.2017, 10:18
Опуская лирику могу сказать чем конкретно мне не понравился Bascom -
На нем хорошо писать простые и быстрые проекты, сигнализацию какую нибудь, управление чем то по каким то условиям, ВКЛ/ВЫКЛ:)
И я затеял проект с поворотной антенной подумав, что в общем покрутить шаговик на нем самое оно, но уже потратив кучу времени на реализацию основного алгоритма пожалел, что не начал проект на СЯ-х,
объясню, в начале простой цикл, несколько кнопок, процедура управления двигателем, подсчеты шагов, деление умножение, в общем басик более менее годится, но когда пошел обвес, часы, КСВ метр, калибровки, датчики с разными шинами, радио, работа с памятью, прерывания, то тут уже если ко всему этому применить библиотеки баскома проект не влезет ни в одну Мегу, о скорости молчу, на простых проектах да Бас=СИ, но на тяжеловесных начинаешь в баскоме СИ-шить и ASM-мить, ибо опускаясь на уровень прерываний и шин, хрен, что на нем красиво (размер памяти и скорость) напишешь, так, что возражения и камни конечно принимаются, но после того как напишите проект с SPI, 1 wire, I2C, памятью, прерываниями с парой тройкой обработчиков, клавой в одном проекте.

И тогда можно предметно поговорить, сравнив объем кода и скорость чистого Баса для AVR против СИ-лесом ;)

- - - Добавлено - - -

Вто например как на баском выгладит один только список переменных для датчика давления, температуры и высоты BOSH bmp180

'***** переменные и константы датчика давления и температуры BMP180 *******************************************

Const Oversampling_setting = 1
Const Software_oversampling_setting = 1
Const R_ac1 = &HAA
Const R_ac2 = &HAC
Const R_ac3 = &HAE
Const R_ac4 = &HB0
Const R_ac5 = &HB2
Const R_ac6 = &HB4
Const R_b1 = &HB6
Const R_b2 = &HB8
Const R_mb = &HBA
Const R_mc = &HBC
Const R_md = &HBE
'Const Oss = &H74 '1-стандарт
Const Oss = &H34 ' 0-низкое потребление
'Const Oss = &Hb4 ' 2-точное измерение
'Const Oss = &Hf4 ' 3-супер точное
Const Term_180 = &H2E

Dim Ac1 As Integer , Mac1 As Byte At Ac1 + 0 Overlay , Lac1 As Byte At Ac1 + 1 Overlay
Dim Ac1a As Long
Dim Ac2 As Integer , Mac2 As Byte At Ac2 + 0 Overlay , Lac2 As Byte At Ac2 + 1 Overlay
Dim Ac3 As Integer , Mac3 As Byte At Ac3 + 0 Overlay , Lac3 As Byte At Ac3 + 1 Overlay
Dim Ac4 As Word , Mac4 As Byte At Ac4 + 0 Overlay , Lac4 As Byte At Ac4 + 1 Overlay
Dim Ac5 As Word , Mac5 As Byte At Ac5 + 0 Overlay , Lac5 As Byte At Ac5 + 1 Overlay
Dim Ac5a As Single
Dim Ac6 As Word , Mac6 As Byte At Ac6 + 0 Overlay , Lac6 As Byte At Ac6 + 1 Overlay
Dim Bb1 As Integer , Mb1 As Byte At Bb1 + 0 Overlay , Lb1 As Byte At Bb1 + 1 Overlay
Dim B2 As Integer , Mb2 As Byte At B2 + 0 Overlay , Lb2 As Byte At B2 + 1 Overlay
Dim B3 As Long
Dim B3a As Long
Dim B4 As Long
Dim B5 As Long
Dim B6 As Integer
Dim B6a As Long
Dim B7 As Long

Dim Mb As Integer , Mmb As Byte At Mb + 0 Overlay , Lmb As Byte At Mb + 1 Overlay
Dim Mc As Integer , Mmc As Byte At Mc + 0 Overlay , Lmc As Byte At Mc + 1 Overlay
Dim Mc2 As Long
Dim Md As Integer , Mmd As Byte At Md + 0 Overlay , Lmd As Byte At Md + 1 Overlay
Dim Adres As Byte
Dim Wert As Byte
Dim Ut As Long , Mut As Byte At Ut + 0 Overlay , Lut As Byte At Ut + 1 Overlay

Dim Xx1 As Long
Dim X1t As Single
Dim X2 As Long
Dim X3 As Long
Dim Tt As Single
Dim T2 As Long
Dim Temperatur As String * 6
Dim Luftdruck As String * 8
Dim Druck As Single

Dim Pp As Long
Dim P2 As Long
Dim 2potenz15 As Long
Dim 2potenz11 As Integer
Dim 2potenz13 As Integer
Dim 2potenz8 As Integer
Dim 2potenz4 As Integer
Dim 2potenz2 As Integer
Dim 2potenz16 As Long
Dim 2potenz12 As Integer
Dim Potenz5255 As Single
Dim Altitude As Single
Dim Altitudes As String * 8
Dim Msb As Long
Dim Lsb As Long
Dim Up As Long , Mup As Byte At Up + 2 Overlay , Lup As Byte At Up + 1 Overlay , Xlup As Byte At Up + 0 Overlay
Dim Druckvar As Byte

Declare Sub Berechne_temp
Declare Sub Berechne_druck
Declare Sub Schreibe_bmp085(byval Adres As Byte , Byval Wert As Byte)
Declare Sub Lese_roh_daten
Declare Sub Messen
Declare Sub Lese_bmp085n(byval Adres As Byte , Wert As Byte , Wept As Byte)[/SIZE]

А это математика его на баском, по другому никак :v2_dizzy_botan::v2_dizzy_facepalm: , и памяти сжирает ужас сколько.

'************************************************ работа с датчиком bmp180 *********************************************

P_bmp180:

Gosub Измерение
Tt = Tt / 10
Temperatur = Fusing(tt , "###.#")
Potenz5255 = 1 / 5.255
Altitude = Pp / 101325
Altitude = Altitude ^ Potenz5255
Altitude = 1 - Altitude
Altitude = Altitude * 44330 'Altitude * 44330 коофициент для корректировки высоты
Druck = Pp
Druck = Druck / 133.3224 'перевести паскали в мм ртутного столба
'Druck = Druck * 0.0075 '
'Druck = Druck / 100 '
Luftdruck = Fusing(druck , "####.#")
Altitudes = Fusing(altitude , "#####.#")
If Lcd_menu = 0 Then
Call D3310position(0 , 3)
Call D3310print( "Pr: ")
Call D3310print(luftdruck)
Call D3310position(0 , 2)
Call D3310print( "Ht: ")
Call D3310print(temperatur)



'Lcd "Alt-" ; Altitudes
End If
Return

Измерение:
'Измерение температуры
Call Schreibe_bmp085(&Hf4 , Term_180)
Adres = &HF6
Call Lese_bmp085n(adres , Lut , Mut)
Call Berechne_temp

Call Schreibe_bmp085(&Hf4 , &HB4 )
Adres = &HF6
Call Lese_bmp085n(adres , Mup , Lup )
' "для использования точного измерения давления раскоментировать строки."
'I2cstart
'I2cwbyte Addr_schreiben
'I2cwbyte &HF8
'I2cstart
'I2cwbyte Addr_lesen
'I2crbyte Xlup , Nack
'I2cstop
'Print Bin(up)
'************************************************* **********************
Shift Up , Right , 5

Call Berechne_druck
Return



Sub Lese_bmp085n(byval Adres As Byte , Wert As Byte , Wept As Byte)
I2cstart
I2cwbyte Addr_schreiben
I2cwbyte Adres
I2cstart
I2cwbyte Addr_lesen
I2crbyte Wert , Ack
I2crbyte Wept , Nack
I2cstop
'Waitms 15
End Sub

Sub Schreibe_bmp085(byval Adres As Byte , Byval Wert As Byte)
I2cstart
I2cwbyte Addr_schreiben
I2cwbyte Adres
I2cwbyte Wert
I2cstop
Waitms 30
End Sub



Sub Berechne_temp
'X1
Ut = Ut - Ac6
2potenz15 = 32768 '2 ^ 15
Ac5a = Ac5 / 2potenz15
X1t = Ut * Ac5a
'X2
2potenz11 = 2048 ' 2 ^ 11
Mc2 = Mc * 2potenz11
X3 = X1t + Md
X2 = Mc2 / X3
'B5
B5 = X1t + X2
'T
2potenz4 = 16 ' 2 ^ 4
T2 = B5 + 8
Tt = T2 / 2potenz4
End Sub


Sub Berechne_druck
'B6
B6 = B5 - 4000
'X1
2potenz12 = 4096 ' 2 ^ 12
B6a = B6 * B6
B6a = B6a / 2potenz12
Xx1 = B2 * B6a
Xx1 = Xx1 / 2potenz11
'X2
X2 = Ac2 * B6
X2 = X2 / 2potenz11
'X3
X3 = Xx1 + X2
'B3
Ac1a = Ac1 * 4
Ac1a = Ac1a + X3
Shift Ac1a , Left , 3
Ac1a = Ac1a + 2
B3 = Ac1a / 4
2potenz13 = 8192 '2 ^ 13
B6a = B6 * Ac3
Xx1 = B6a / 8192
'X2 die zweite
B6a = B6 * B6
B6a = B6a / 2potenz12
X2 = Bb1 * B6a
2potenz16 = 65536 '2 ^ 16
X2 = X2 / 2potenz16
'X3 die zweite
X3 = Xx1 + X2
X3 = X3 + 2
2potenz2 = 4 ' 2 ^ 2
X3 = X3 / 2potenz2
'B4
B4 = X3 + 32768
B4 = B4 * Ac4
B4 = B4 / 2potenz15
If B4 <= 0 Then B4 = B4 * -1
'B7
B7 = Up - B3
B3a = 50000
Shift B3a , Right , 3 '
B7 = B7 * B3a
If B7 <= 0 Then B7 = B7 * -1
If B7 < &H80000000 Then
Pp = B7 * 2
Pp = Pp / B4
Else
Pp = B7 / B4
Pp = Pp * 2
End If
2potenz8 = 256 '2 ^ 8
P2 = Pp / 2potenz8
Xx1 = P2 * P2
Xx1 = Xx1 * 3038
Xx1 = Xx1 / 2potenz16
' nochmal X2
X2 = -7357 * Pp
X2 = X2 / 2potenz16
P2 = Pp
Pp = X2 + 3791
Pp = Pp + Xx1
Pp = Pp / 2potenz4
Pp = Pp + P2

End Sub

И после этого не соглашусь, что нервный срыв будет у СИ-шника :D
Я совершенно не против баса, но каждому короблю как говорится...

- - - Добавлено - - -

PS по секрету CodeVision AVR тоже поддерживает ардуинку+USB

Smalovsky
23.02.2017, 14:04
Стало кое-что известно про Никалауса Вирта. Не хотел это писать, что бы не обидеть Олега. Но поскольку Олег начал топик про модулу 2, то ему будет интересно что-то узнать новое.
В период 1978–1981 гг. Вирт возглавлял проект, в результате которого был разработан язык Модула-2, ориентированный на него 16-разрядный персональный компьютер Лилит (Lilith) и ОС Medos. Все ПО, включая системное, было полностью реализовано на Модуле-2. В 1984 г. Никлаус Вирт за большой вклад в развитие языков программирования и за создание персонального компьютера Лилит был удостоен премии Алана Тьюринга (The ACM A.M.Turing Award) – самой престижной и почётной в компьютерном мире, которая по своему значению стоит в одном ряду с Нобелевской премией.
Вроде, на первый взгляд, ничего такого нет плохого... А знаете ли вы что такое лилит?
"Для своего компьютера он выбрал несколько странное название - "Лилит". Лилит в иудейской традиции - злой демон в женском обличии. Она овладевает мужчинами против их воли. Кстати, согласно одной из апокрифических легенд, Лилит под именем Лилу (помните такого персонажа в фильме "Пятый элемент"?) была женой Адама до сотворения Евы. Наверное, Вирт имел в виду то, что его компьютер овладеет всеми мужчинами против их воли (таким образом, очевидно, Вирт накликал компьютерную зависимость)." http://www.teleology.space/ru/news_ru/05102006-01_ru
Никалаус Вирт прекрасно знал что означает слово лилит.
Кроме того Никалаус Вирт участвовал в разработке алгола( писал в сообщении выше, как и о Тьюринге).
В спойлере юмористический офтоп.))

Я задумался о распространении демосцены на спектруме. Мне, кажется, этим явлением нужно было кому-то руководить.
Но кто бы это мог быть?... Неужели?..
https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcSVwuPHbmfvs4QlnekV3-7dJVZI-osc6PBpK4mCS48PL8ubJV0TTQ

skyther
23.02.2017, 14:35
Тьюринг был гомиком и самоубийцей!
а страус вапще труп!

Error404
24.02.2017, 20:10
Лилит в иудейской традиции - злой демон в женском обличии. Она овладевает мужчинами против их воли. Кстати, согласно одной из апокрифических легенд, Лилит под именем Лилу (помните такого персонажа в фильме "Пятый элемент"?) была женой Адама до сотворения Евы. Наверное, Вирт имел в виду ...


Гадать что имел в виду Вирт конечно можно, но пожив, трудно не согласиться - в женском обличии бывает немало демонов. :)

Smalovsky
03.03.2017, 23:56
Однажды на атмеле...
Программирую на баскоме для авра, но однажды узнал о таком бейсике для авра как FastAVR. Оказалось, что фаставр мог получать код более быстрый и компактный чем компиляторы си. Но почему-то проект фаставр был закрыт...
Много пользователей использовали фаставр и омечали его достоинсва. Даже сишники смирялись перед мощью этого компилятора для микроконтроллера.
Но почему-то легендарного компилятора не стало. Программисты забили тревогу и начали собственное расследование http://bascomavr.3bb.ru/viewtopic.php?id=376 . Давайте почитаем их мнение о фаставре и их расследовании.
Вот мнения людей о фаставр:

И все таки ОН - ЛУЧШИЙ!!!

Жаль что его"задушили"!
Кто-то хотел найти автора компилятора:

Автор молчит, сайт -умер, телефоны - поменял, фирму - закрыл
Кто-то подозревал диверсию со стороны автора баскома:

Может его выкупили, скажем, тот же Марк мог выкупить FastAVR, тем самым, избавится от конкурента?
У меня есть собственные предположения.
Если бы баском купил фаставр, то некоторые наработки из фаставр появились бы в баскоме, что привело бы к значительному улучшению баскома. Но этого не наблюдается. Да и по размерам капиталов фаставр и баском, наверно, были равны. Откуда же такие средства на покупку фаставра у баскома?
Могли бы тут "постараться" сишники? Звучит дико. Но давайте посмотрим на эту версию. Капитал фирм по производству компиляторов си для авра был достаточен что бы купить фаставр. Преимущество фаставр бросало тень на компиляторы си, а это уже был подрыв доверия к идеологии "си лучший язык программирования", что грозило в будущем к распространению других языков программирования и потерей части рынка для этих фирм. Мотивы были.
Как бы там ни было... Кто бы не сделал это злое дело. Одно останется в истории - на тот момент фаставр был одним из лучших(а может и лучшим) компилятором для авра.

s_kosorev
04.03.2017, 00:40
тут нужно искать руку оберона или может быть даже магию

JV-Soft
04.03.2017, 04:01
Много пользователей использовали фаставр и омечали его достоинсва. Даже сишники смирялись перед мощью этого компилятора для микроконтроллера.
Вот бы треп подкрепить конкретным примером, да бы узрели мы и пали пред мощью )

Smalovsky
20.03.2017, 22:49
Когда-то в России...
Оказывается в России был свой аналог ардуино! Причём программировалась плата контроллера не сиобразным языком, типа, вайринга, а бейсиком-интерпретатором.
http://www.cqham.ru/PLC_1.htm
http://www.cqham.ru/tbcgroup/download.htm

s_kosorev
20.03.2017, 23:39
Собсно из за бейсика и помер

JV-Soft
21.03.2017, 01:45
Оказывается в России был свой аналог ардуино!
Популярность платформы пропорциональна интересу пользователей к ней, доступности цены и КАЧЕСТВЕННОГО ПО , из этого незамысловатого выражения вытекает количество людей её использующих.
Пример - ZX-Spectrum форэва !

JV-Soft
28.03.2017, 20:49
Перейдем от слов к делу, вот для таких проектов Bas подходит хорошо.

Есть куча ноутов, некоторые Dell. И при подключении БП в BIOS пишет что не определят тип БП

http://s015.radikal.ru/i331/1703/c0/63a634e96c48t.jpg (http://radikal.ru/big/cwmwqf52lwdsu)

и отказывается работать на номинальной частоте проца и сбрасывает ее до 800мГц.

http://s020.radikal.ru/i702/1703/9b/5b7e01f38c9bt.jpg (http://radikal.ru/big/xn2fzuhc1hzvg)

Все это как я выяснил происходит по причине того, что Dell определят БП через EEPROM установленную в БП и подключенную к среднему контакту штекера питания.
Она то и сгорела видимо из за контакта с внутренним кольцом которое является напряжением +19в

Дохлый EEPROM Dallas 2501

http://s19.radikal.ru/i192/1703/d3/d4461939ababt.jpg (http://radikal.ru/big/k6l906pwzs172)

Погуглив сеть выяснил, что ее можно эмулировать, один немец написал проект для attiny13, есть еще скетч для ардуино но я не люблю эту среду, а вот платка мне нравится, так что я переправил исходник Bascom под arduino uno (частота и тайминги) , зашил из среды Bas-а в ардуину, подпаял два провода в БП и вот результат.
Блок определется (прошивка под 90W) есть еще 65W и 130W, эту примочку можно поставить в сам ноут (например на arduino nano или attiny13) и пользоваться неродными БП

http://s015.radikal.ru/i331/1703/af/388fd12aaa7ft.jpg (http://radikal.ru/big/pj8hj1hc3o8a9)

Проц работает на номинале

http://s019.radikal.ru/i627/1703/14/7fcd8eed8ec4t.jpg (http://radikal.ru/big/lk8tryg9qk1ii)

И поделка, все было для проверки, для замены epprom конечно куплю arduini nano или attiny13 так как ардуина uno огромна для этих целей.

http://s019.radikal.ru/i606/1703/f3/766d345a505et.jpg (http://radikal.ru/big/da40nkgwyp8y3)


' *************************** Mod Jamy 28.03.2017 **********************************

' Emulation eines DS2501 aus Dell Notebook netzteilen


' Entwicklung basiert auf folgenden Quellen :

' Dallas DS 2501/02 Datasheet
' Webseite Wolfgang Pöllinger -> www.wpö.de
' Webseite http://www.howtofixcomputers.com/forums/dell/dell-pa-10-ac-adapter-center-pin-108608.html
' Webseite http://www.laptop-junction.com/toast/content/inside-dell-ac-power-adapter-mystery-revealed
' Webseite http://www.ringwelt.de/computer/pc/dell-d600-mit-12v-netzteil.html
' Webseite http://bascom.at.ua/publ/1-1-0-1


' Arduino
' 1Wire an Pin2 = PB3

'
'
'
'
' + VCC +5v
' +
' |
' .-.
' | | 4k7
' | |
' '-'
' | ___
' Dell 1 Wire o--o|___|---------> PB3 (arduino pin 11')

' 220R
'
'
'

' (created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)





$crystal = 16000000
$regfile = "m328Pdef.dat"


$hwstack = 32
$swstack = 8
$framesize = 16


Dim Incommand(2) As Byte
Dim Bytedat As Byte
Dim Bytedatbuffer As Byte

Dim I As Byte
Dim B As Byte
Dim Crc As Byte
Dim Bufstart As Byte



' Commands

Const Skip_rom = &HCC
Const Read_rom = &H33
Const Read_mem = &HF0

' we use port b .3
Const Dqpin = 3
Const Ipin = 0 ' value in DDRB for input
Const Opin = 1 ' value in DDRB for output
Dq Alias Pinb.dqpin



' Timings

Const Owpresent = 280 ' 150
Const Owpause = 90 '50
Const Owstrobe = 28 '15
Const Owdata = 45 '25

' Timer Delays

Const T1reset = 110 '60
Const Timeout = 225 '120

' *********************** TIMER and ISR
Config Timer0 = Timer , Prescale = 64
Stop Timer0
Enable Timer0
On Timer0 Isr Nosave
Timer_t0 Alias Tcnt0
'***************************************




Mainloop:
Waitreset:

Disable Interrupts
Timer_t0 = 0

Waitfall:

L1:
sbis pinb, DqPin
rjmp L1
L2:
sbic pinb, DqPin
rjmp L2

Start Timer0

Rwaitrise:

L01:
sbic pinb, DqPin
rjmp L01
L02:
sbis pinb, DqPin
rjmp L02

Stop Timer0

If Timer_t0 < T1reset Then Goto Waitreset
If Timer_t0 > Timeout Then Goto Waitreset


Sendpresense:
Waitus Owpause

Ddrb.dqpin = Opin

Waitus Owpresent
Ddrb.dqpin = Ipin
Timer_t0 = 0
Enable Interrupts

Readb:

Gosub Readbyte

Readb1:

If Bytedat = Read_rom Then Goto Readrom


If Bytedat = Skip_rom Then
Crc = 0
For B = 1 To 2
Gosub Readbyte
Incommand(b) = Bytedat
Bytedatbuffer = Crc Xor Incommand(b)

Crc = Crc8(bytedatbuffer , 1)
Next B


Gosub Readbyte ' empty read for high adress
'Bytedatbuffer = Crc Xor 00
Bytedat = Crc8(crc , 1)
Gosub Sendbyte



If Incommand(1) = Read_mem Then Goto Readmem



End If
Goto Waitreset
End

Readrom:
For B = 0 To 7
Bytedat = Lookup(b , Rom)
Gosub Sendbyte
Next B
Goto Waitreset
'----------------------------------
'================================
Readbyte:
For I = 0 To 7

L11:
sbis pinb, DqPin
rjmp L11
L12:
sbic pinb, DqPin
rjmp L12
Timer_t0 = 256 - T1reset
Start Timer0

Rotate Bytedat , Right
Waitus Owstrobe


Bytedat.7 = Dq

Next I
Stop Timer0
Return
'----------------------------------
Sendbyte:
Bytedatbuffer = Bytedat
For I = 0 To 7

L21:
sbis pinb, DqPin
rjmp L21
L22:
sbic pinb, DqPin
rjmp L22
Timer_t0 = 256 - T1reset
Start Timer0

If Bytedat.0 = 0 Then Ddrb.dqpin = Opin
Waitus Owdata
Ddrb.dqpin = Ipin

Rotate Bytedat , Right

Next I
Bytedat = Bytedatbuffer
Stop Timer0
Return
'-----------------------------------

Readmem:
Crc = 0
Bufstart = Incommand(2)

For B = Bufstart To 63
Bytedat = Lookup(b , Mem1)
'Print Hex(bytedat)
Bytedatbuffer = Crc Xor Bytedat

Crc = Crc8(bytedatbuffer , 1)
Gosub Sendbyte
Next B

Bytedat = Crc

Gosub Sendbyte

Goto Waitreset


' *********************** isr
Isr:

If Dq = 0 Then ' Das ist Strange mit den Goto aus der Isr rauszugehen.
'aber es läuft
Timer_t0 = T1reset

Goto Rwaitrise
Else
Goto Waitreset
End If

Return

'******************************





'*************** ROM **************************
Rom:
Data &H11 , &HB4 , &H91 , &H2F , &H05 , &H00 , &H00 , &HB8



'*************** mem 1 **************************
' Settings für 90 Watt Netzteil

Mem1:

Data &H44 , &H45 , &H4C , &H4C , &H30 , &H30 , &H41 , &H43
Data &H30 , &H39 , &H30 , &H31 , &H39 , &H35 , &H30 , &H34
Data &H36 , &H43 , &H4E , &H30 , &H43 , &H38 , &H30 , &H32
Data &H33 , &H34 , &H38 , &H36 , &H36 , &H31 , &H36 , &H31
Data &H52 , &H32 , &H33 , &H48 , &H38 , &H41 , &H30 , &H33
Data &H4D , &H7C , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF
Data &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF
Data &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF , &HFF

Smalovsky
28.03.2017, 21:59
JV-Soft, как ты прошил уно из баскома? Я для Леонардо компилил хекс баскомом, а потом прошивал через специальную утилиту.
Вот здесь http://bascomavr.3bb.ru/viewtopic.php?id=1388#p20974
Может баском криво установился?
P.S. Если заливать через утилиту, то потом платка не определяется как ардуино и потом всё время придётся делать прошивки утилитой.

JV-Soft
28.03.2017, 22:33
Smalovsky, подключена к USB, басом определется на COM3 , шьет быстрее чем родная среда, удобно очень, настройки такие

http://s010.radikal.ru/i311/1703/ad/a88f4a0c4689t.jpg (http://radikal.ru/big/v6xkvu1v8rse8)
http://s013.radikal.ru/i324/1703/4f/e4ba39d27fe4t.jpg (http://radikal.ru/big/nv8v5zdstipuw)

Smalovsky
28.03.2017, 22:53
JV-Soft, выставил твои настройки( кроме порта) - прошилось. Спасибо.
Значит, скорее всего, запара с Леонардо была...
Забыл написать, у меня ещё кроме Леонардо есть ещё и стартеркит с уно.

Smalovsky
10.06.2017, 15:32
Баловался раньше на майкроджаве. Запустите на мобильном или в эмуляторе и посмотрите. Выскажите свое мнение. Управление джойстиком.
61329

Smalovsky
14.06.2017, 21:47
Есть радиолюбители, которые попробовав бейсик вместо си для авра, уже не могут перейти обратно на си. Пока они используют авр, то всё хорошо, но со временем эти радиолюбители хотят освоить арм. Только вот бейсик найти для арма сложно. Я нашёл платный компилятор стоимостью 5 долларов.
http://www.coridiumcorp.com/
Что хорошего в платном компиляторе? Например, это отсечёт демеров, которые любят халявный софт. ))

ALS
15.06.2017, 15:24
А разве демеры программируют на бэйсике ?

Smalovsky
17.07.2017, 17:05
А разве демеры программируют на бэйсике ?
Гоблин пишет демки на пуребейсике.
А я вот, разработал аппаратный интерфейс для ардуино. И собрал!
Короч, вот http://bascomavr.3bb.ru/viewtopic.php?id=1775#p21910
http://s6.uploads.ru/t/wYum9.jpg

- - - Добавлено - - -

На фото есть квест для опытных спектрумистов!

JV-Soft
17.07.2017, 17:50
Smalovsky, Простая задачка, любители баса, а напишите код для инициализации 10 битного FastPWM на bascom ,при частоте кварца 16мгц он должен быть 15.625 кгц )))

- - - Добавлено - - -

И тогда я признаю bascom классной средой )

solegstar
19.07.2017, 15:16
он должен быть 15625 кгц )))
может 15625 Гц?

JV-Soft
19.07.2017, 18:25
может 15625 Гц
Да , да )
Код операторами быса в студию )

Smalovsky
22.07.2017, 15:33
Настало время скандальных компроматов.... КАК ВСЕГДА!))
Сегодня речь пойдет о Стиве Джобсе... Так ли мы знаем об этом человеке, как преподносят нам СМИ?
Первое о чём следует сказать, что Джобс употреблял ЛСД и занимался оккультизмом в форме буддизма. Об ЛСД он говорил, что этот опыт был «одной из двух или трех наиболее важных вещей, которые он сделал в своей жизни». Интерес к галлюциногену у Стива появился после того, как он вернулся из Индии фактически принявшим буддизм - с гладко выбритой головой и в соответствующих одеждах. "Лозунг Apple в течение многих лет - это фраза "Думай иначе". Возможно, именно использование наркотических препаратов помогло Джобсу смотреть на проблемы с уникальной точки зрения". Ещё факт о буддизме Джобса - свадебную церемонию Джобса проводил его гуру, буддистский монах. В "буддистском стиле" прошли и похороны Джобса...
Итак, этот человек был буддистом и наркоманом... Посмотрим, как оккультные увлечения повлияли на деятельность Джобса.
Вот, например, не все знают, что компьютер эпл 1 изначально был продан за 666,66$... Вообще три шестёрки - это число зверя(дьявола). Увещания, фанов эпла, что якобы Джобс и Возняк не знали значения этих чисел представляются смехотворными. Кроме, того такая цена была назначена после того как Джобс принял буддизм.
Но это ещё не всё! Посмотрим, что из себя представляло компьютерное сообщество времён Джобса:

Во второй половине 1960-х годов в Сан-Франциско и Силиконовой долине параллельно развивались различные культурные течения. Техническая революция началась с роста компаний, работавших на военную промышленность; вскоре за ними подтянулись фирмы, производившие радиоэлектронное оборудование, разработчики микросхем, видеоигр и компьютерные компании. Процветала субкультура хакеров: тут были и сетевики, и телефонные мошенники, киберпанки, обычные любители и просто гики, в том числе инженеры, не вписывавшиеся в иерархию HP, и их дети, не работавшие ни в одном из подразделений компании. Существовали группы квазиученых, занятые исследованием воздействия ЛСД; среди прочих были Даг Энгельбарт из Исследовательского центра аугментации (Augmentation Research Center) в Пало-Альто, разработавший впоследствии компьютерную мышь и графические пользовательские интерфейсы, и Кен Кизи, прославивший кислоту своими музыкально-световыми шоу с участием группы, которая впоследствии приобрела известность как Grateful Dead. Развивалось движение хиппи, выросших из поколения битников Сан-Франциско и окрестностей. На основе возникшего в Беркли Движения за свободу слова появлялись различные политические деятели, несогласные с существовавшим порядком вещей. Кроме того, буйным цветом цвели всевозможные духовные практики, направленные на поиски просветления: от дзен-буддизма, индуизма, медитации и йоги до терапии первичного крика, сенсорной депривации и обучающих семинаров Эрхарда.

Олицетворением сплава субкультуры хиппи и хакеров, поисков просветления и интереса к новым технологиям был Стив Джобс: по утрам он медитировал, днем слушал лекции по физике в Стэнфорде, ночами работал в Atari и мечтал основать собственный бизнес. «Жизнь била ключом, — вспоминал он. — Появлялись потрясающие музыканты — Grateful Dead, Jefferson Airplane, Джоан Баэз, Дженис Джоплин; да прибавьте еще сюда интегральные схемы и книги вроде „Каталога всей Земли“».
(http://steven-jobs.ru/books/3/1/page40.htm)
Итак, по свидетельству авторитетного источника Джобс использовал в своей карьере оккультные практики и медитацию.

Интерес Джобса к восточной философии, индуизму, дзен-буддизму, поиск просветления не был всего лишь преходящим увлечением 19-летнего юноши. Стив всю жизнь старался следовать большинству основных правил восточных вероучений, например стремлению к праджне, то есть высшей мудрости и божественной интуиции, которой можно достичь путем концентрации.
Вот что пишет сам Джобс:

Дзен глубоко повлиял на всю мою жизнь. Одно время я хотел отправиться в Японию и попытаться поступить в школу при храме Эйхэйдзи, но мой духовный наставник уговорил меня остаться в Америке. Сказал, что там нет ничего, чего не было бы здесь. И оказался прав. Я понял истинность дзенской пословицы: если ты намерен объехать весь мир в поисках гуру, найдешь его в соседнем доме.
Может, я пополню это расследование...

JV-Soft
22.07.2017, 19:45
Smalovsky, Что ты творишь !!!! весть текст - OFF от темы !
Твои последователи и ученики чувствуют себя преданными , bas для них теперь путь в никуда :biggrin: , пастырь предал паству :biggrin:
Пастырь оказался лже праведником ! BAS = 666 !

- - - Добавлено - - -

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


https://www.youtube.com/watch?v=t4m7uV_cPTQ

- - - Добавлено - - -

шлеп (https://www.cultofmac.com/465778/today-in-apple-history-steve-wozniak-in-plane-crash/)

Smalovsky
29.07.2017, 16:28
Люди не понимают что я хочу сказать... А я хочу донести важный смысл, что компьютерная индустрия тесно связана с оккультизмом. Начиная от известных личнностей и заканчивая известными брендами всё пропитано оккультизмом. Вы ведь читали, что представляло собой компьютерное сообщество на заре становления - это было сообщество людей эпохи битлза, марихуаны и оккультизма в форме ньюэйдж. Ну и как результат всего этого и появляется уникс и си...
Единственный выход для совестливых людей - не использовать линукс и си. Поэтому нужно рассматривать варианты в том числе бейсик. Я подозреваю, что многие уже готовы отказаться от си и перейти на какой-нибудь другой язык программирования.
В среде микроконтроллеров многие программисты уже давно посматривают в сторону бейсика, но многие просто стесняются начать программировать( что связано с устойчивыми мифами о си). Сегодня я хочу привести ссылки на интересный бейсик Протон.
Сам сайт сайт протона с информацией о поддерживаемых архитектурах (http://www.protonbasic.co.uk/content.php/1879-List-of-Supported-Microchips?)
Форум (не только по протону) http://www.picbasic.ru/forum/5
При желании можно перейти с си на бейсик.

JV-Soft
29.07.2017, 17:30
сообщество людей эпохи битлза, марихуаны и оккультизма в форме ньюэйдж
Что бы тебя понимали надо поделиться со всеми :biggrin:

А вообще пора чему то молодежь учить.
И так - в инте для баса есть куча библиотек для LCD1602 + I2C на Pcf8574 , так вот все они или глючные (лично проверено в коде с таймерами и прерываниями)
и ни одна не работает нормально, а с аппаратным TWI вообще ужас ,высылают черти чё.
А для поддержания темы и для показухи чего может бас я решил сделать лабораторник с зарядными алгоритмами, писать конечно надо это однозначно на СИ, но так скажем , покажем что через задницу это можно и на басе , но честно только через задницу ))))
Так вот, я вообще не знаю ASM AVR ,а библиотеки писать надо на асме, и сегодня напрягая мозг переписал библиотеку LCD I2C для нормальной работы с TWI и возможностью конфигурирования пинов LCD на Pcf8574.

Моя библа, авторские права оригинала я не правил -
copyright = Kent Andersson
www = none
email = [email protected]
comment = I2C LCD driver
libversion = 1.02
date = 31 march 2002
statement = You are free to use this code any way you like, if you are able to optimize
statement = it better, please send me an update on my e-mail.
history = No known bugs.

;define a constant named PCF8574_LCD pointing to the i2c address
;dimension _lcd_e as byte to control the E-lines (4 lines LCD:s)
;_lcd_e should have one of the following values
;128 to enable E1, 64 to enable E2, 192 to enable both E1 and E2 (cls, deflcdchar)
;Connect the following pins from PCF8574 to LCD
;
;P0 - D4
;P1 - D5
;P2 - D6
;P3 - D7
;P4 - RS
;P5 - RW (not used, set to 0 to ground for write)
;P6 - E2 (on 1 or 2 line display nc)
;P7 - E1

[_Init_LCD]
_Init_LCD:
*BASIC: waitms 50
ldi r16,&hc0 ; this is to make the initialization on both halfs of a 4-line LCD
Ldi _temp1, &h03 ; at init-time I call all routines before _lcd_e is loaded into r16
Rcall _Send_to_LCD
*BASIC: waitms 4
Rcall _Send_to_LCD
Rcall _Send_to_LCD
Ldi _temp1, &h02
Rcall _Send_to_LCD
Ldi _temp1, &h28
Rcall _Write_lcd_byte ;RS flag should to be 0, so jump directly to write byte
Ldi _temp1, &h08
Rcall _Write_lcd_byte
Ldi _temp1, &h0c
Rcall _Write_lcd_byte
Ldi _temp1, &h01
Rjmp _Write_lcd_byte
[END]


[_Write_lcd]
_Write_lcd:
* lds r16,{_lcd_e}
sbr r16,&h10 ;set RS flag (4 high bits is used as control)
rjmp _write_lcd_byte
_Lcd_Control:
* lds r16,{_lcd_e}
_write_lcd_byte:
push r24
Swap _temp1
Rcall _Write_lcd_Nibble
pop r24
_Write_lcd_nibble:
Cbr _temp1,&HF0 ; E1, E2, RW, RS low

_Send_to_LCD:
push r26
push r27
ldi r25,3
_send_3_times:
PUSH _temp2
BST _temp1, 0
* BLD _temp2, PCF_D4
BST _temp1, 1
* BLD _temp2, PCF_D5
BST _temp1, 2
* BLD _temp2, PCF_D6
BST _temp1, 3
* BLD _temp2, PCF_D7
BST _temp1, 4
* BLD _temp2, PCF_RS
BST _temp1, 5
* BLD _temp2, PCF_RW
BST _temp1 , 6
* BLD _temp2, PCF_E2
BST _temp1, 7
* BLD _temp2, PCF_E1
*BASIC: i2csend pcf8574_LCD, _temp2
POP _temp2


; *BASIC: i2csend pcf8574_LCD,_temp1
eor _temp1,R16 ; Xor E1 and/or E2 to set them
; @genus(250)
ldi r26,0
_LCD_delay:
dec R26
brne _LCD_delay
Dec R25
Brne _send_3_times
eor _temp1,R16 ; Xor to restore to initial state (even number of times)
pop r27
pop r26
ret

[END]

$lib "i2c_twi.lib" 'hardware TWI
Config Twi = 100000 'частота I2C 100кГц
I2cinit
$lib "Lcd_i2c.lib" 'Добавил в библиотеку переназначение пинов + корректная работа TWI. Остальные библиотеки из инета не работают с TWI

Const Pcf8574_lcd = &H7E 'в моем случае адрес записи Pcf8574


Config Scl = Portc.5 'конфигурируем аппаратный I2C
Config Sda = Portc.4
Dim _lcd_e As Byte

Const Pcf_d4 = 4 'переназначение пинов Pcf8574 к lcd
Const Pcf_d5 = 5
Const Pcf_d6 = 6
Const Pcf_d7 = 7
Const Pcf_rs = 0
Const Pcf_rw = 1
Const Pcf_e2 = 3
Const Pcf_e1 = 2

_lcd_e = 128 '128 для LCD1602

Config Lcd = 16 * 2
Cursor Off 'выключим отображение курсора
Cls

что бы не использовать кучу ног AVR, я и затеял LCD на I2C и датчик тока/напряжения будет I2C (INA226)
С первоночального на UNO
http://s010.radikal.ru/i313/1707/f7/f5898ef644bft.jpg (http://radikal.ru/fp/1r6jmj43q1yqz)

А теперь на NANO
http://s019.radikal.ru/i608/1707/a2/569e2e41e1act.jpg (http://radikal.ru/big/jmbqgdafsww5b)

Продолжение следует

- - - Добавлено - - -


При желании можно перейти с си на бейсик. :v2_dizzy_facepalm:
Можно и из дома в парк жить переехать , и с галенвагена на жигули пересесть:biggrin:

s_kosorev
29.07.2017, 21:28
Фу, как хорошо что я полем иду, походу бейсик вызывает необратимые процессы в психике пользователя

shurik-ua
29.07.2017, 23:28
При желании можно перейти с си на бейсик.
Вероятность появления такого желания такая же - как вероятность появления у выпускника школы желания поступить в первый класс ))

JV-Soft
30.07.2017, 14:17
Фу, как хорошо что я полем иду, походу бейсик вызывает необратимые процессы в психике пользователя
Однозначно :biggrin:
-------------------------------
Но вернемся к извращениям да бы тема не была одним флудом.

Заметил глюк, бас не выставляет видимо правильно задержки при старте LCD с I2C поэтому код должен содержать обязательно строки принудительной инициализации с задержкой иначе в некоторых случаях LCD будет глючить

Initlcd
Waitms 3
Cursor Off
Cls
---------------

Далее о аппаратном ШИМ, так мне никто и не привел код для инициализации fastPWM 15625гц , и это не удивительно, баском не умеет этого делать , вот казалось бы самая обычная процедура инициализации в любой IDE для AVR , а нет как оказалось стандартные вещи баском не умеет , делайте это пользователи через жопу если сможете.
Хорошо прямой доступ к регистрам хоть сделали , поэтому что бы сделать простую вещь надо вначале инициализировать Phase Correct PWM

Config Timer1 = Pwm , Compare A Pwm = Clear_up , Compare B Pwm = Clear_up , Prescale = 1

а потом через регистры перевести его в fastPWM , но прелесть ,что не в одной доке и оф.мануале этого нет, разбирайтесь сами , что мы там придумали и никому не сказали :)

Tccr1a.0 = 1
Tccr1a.1 = 1
Tccr1b.3 = 1
Tccr1b.4 = 0

-----------------------------------------------------------------------------------

Далее не знаю это особенность баса или китайской NANO v3 , но в bascom совместно с NANO v3 не работает с watchdog ! Причем очень классно не работает , если в басе доходит до сработки watchdog в NANO v3 , то она входит в постоянный зависон и RESET не помогает , я такого еще не встречал ! Только перепрошивка ! С UNO такого глюка нет , кстати прошив NANO в UNO этот глюк ушел.
Вот такая чудная и удобная среда Bascom , да Smalovsky ? :biggrin:

Smalovsky
30.07.2017, 17:31
Уже соскучились по скандальным разоблачениям? Тогда начинаем новую серию( как всегда)!
Итак, Деннис Ритчи известен всем как известный программист - ветеран становления вычислительной техники. Но правильное ли у всех мнение об этом человеке?
Начнём с того, что Ритчи известен как один из разработчиков языка си и уникса. Причём, в униксе были введены такие названия как демоны! Не операционная система, а настоящий ад! Можно предположить, что Деннис являлся оккультистом и был помешан на теме преисподней и демонов. Это предположение можно проверить прочитав его биографию, в той части где описаны его разработки в области ОС:

Следуя успехам UNIX, Ритчи продолжал до самой смерти исследования в области операционных систем и языков программирования со вкладом в ОС Plan 9 и Inferno и язык программирования Limbo.
(http://www.personbio.com/view_post.php?id_info=6683)
Начнём с конца... Слово лимбо имеет перевод как "преддверие ада", а слово инферно как "преисподняя". Итак, можно смело сказать, что Ритчи увлекался оккультизмом по его разработкам.
Что же такое "План 9"? Это название фильма ужасов, а точнее это план порабощения Земли по сюжету фильма. Выдержка из сюжета фильма:

Инопланетяне решают, что земляне слишком глупы и вполне могут нанести большой вред галактическому сообществу, вследствие чего начинают реализовывать свой план под кодовым названием «План 9». Двое пришельцев сажают летающую тарелку на землю и оживляют трёх мертвецов, внедряя чипы в их головной мозг.
Из этой цитаты, видно что Деннис был сознательным приверженцем тёмных сил и мечтал о порабощении человечества.
Надо отметить, что другие оккультисты-программисты очень даже помнят о нём:

Выпущенный через месяц после смерти Денниса Ритчи дистрибутив Linux Fedora 16 был посвящён памяти о нём. Выпуск FreeBSD 9.0 был также посвящён Деннису Ритчи.
Для совсем ничего не понимающих советую посмотреть картинки в поисковике на тему фрипст( название мерзости изменил - противно печатать).
Итак, подводим итоги - уникс и си являются путём в преисподнюю.

shurik-ua
30.07.2017, 18:15
Тут надо чтоб не модераторы уже следили за форумом - а доктора ))

Smalovsky
10.05.2018, 16:30
Далее о аппаратном ШИМ, так мне никто и не привел код для инициализации fastPWM 15625гц , и это не удивительно, баском не умеет этого делать , вот казалось бы самая обычная процедура инициализации в любой IDE для AVR , а нет как оказалось стандартные вещи баском не умеет , делайте это пользователи через жопу если сможете.
Хорошо прямой доступ к регистрам хоть сделали , поэтому что бы сделать простую вещь надо вначале инициализировать Phase Correct PWM
Используй прямое обращение к регистрам и не парься(си тоже не умеет инициализировать с помощью специальных команд).

- - - Добавлено - - -

Захотелось мне программировать на писи. Начал просматривать компиляторы разные, и хочу сказать, что опенсорсные компиляторы - это кидняк. Начал смотреть в сторону коммерческих. На сегодняшний день два претендента - даркбейсик и либерти бейсик.
Начнём с дарка. Оказалось теперь он стал свободным, но это только из-за того, что он сильно устарел, и компания начала выпускать новый коммерческий продукт.
Ссылка на скачивание - https://www.thegamecreators.com/product/dark-basic-pro-open-source
Дарк признан профессионалами и, даже, есть комманды программирующие на этом диалекте. Также этот язык выбор журнала игромания.
https://www.igromania.ru/article/4477/Igry-yeto_prosto_Obzor_Dark_Basic_Pro.html
Демеры тоже признали дарк.))
Теперь посмотрим либерти барсик. Тоже достаточно известный барсик. Компилятор платный.
http://www.libertybasic.com/
Но тут есть такая штука как бустер - специальная свободная программа, которая компилирует и ускоряет.
http://www.lbbooster.com/
Так что же выбрать?

goodboy
10.05.2018, 17:05
Dark (как следует из перевода) уже явный выбор в сторону Тьмы

Smalovsky
10.05.2018, 17:22
goodboy, возможно тут смысл тёмной(серой) лошадки по отношению к известным компиляторам. Меня больше смущает логотип дарка - странная пирамида. Иллюминаты?

yuriy
10.05.2018, 22:50
Smalovsky, да какой смысл? Все предельно ясно и понятно. Про Дарк уже ответили - это Тьма. В пирамиде тоже ничего странного, по-нашему это могила. Т.е. выбрав ДакБэгсик (название мерзости изменил - боюсь печатать), а ты уже пробуешь делать шаги в этом направлении, ты сознательно склоняешься к Темной стороне и мечтаешь о порабощении человечества. А возможно в тебе спит Темная сила, но ты не догадываешься об этом. Отсюда и склонности к анафемоподобным языкам.


Так что же выбрать?
Увы, из списка выше ничего. Ибо LibertyБэгсик слишком туманно в толковании и наверняка придумано чтобы запутать человека намекая о свободе и Светлой стороне, хотя в контексте может говорить о распущенности, если говорить на божественной латыни. Посему видится один единственный выход - попробовать стать на Светлую сторону и самому написать какой-либо PinkPonyBasic. А чо.

Smalovsky
21.05.2018, 16:14
yuriy, а мне вот непонятно, кто у вас диззиэйджеров главный ты или Титус?

yuriy
22.05.2018, 00:54
Smalovsky, Закс главный, кто ж еще???:v2_blink: Мы всего лишь режиссеры да актеры...

Smalovsky
23.06.2018, 17:14
yuriy, ты интересно пишешь с точки зрения диззиэйнджинга, но если ты будешь путать ёлкофолк и действительность, то в твоей игре могут появиться персонажи в белых халатах и принудительно сменить тебе локацию на комнату с мягкими стенами.))

jerri
24.06.2018, 13:36
yuriy, ты интересно пишешь с точки зрения диззиэйнджинга, но если ты будешь путать ёлкофолк и действительность, то в твоей игре могут появиться персонажи в белых халатах и принудительно сменить тебе локацию на комнату с мягкими стенами.))

ой, вас уже выпустили?

Smalovsky
26.06.2018, 14:38
jerri, чего-то ты решил встрять? Хочешь перед диззиэйнджейрами прогнуться? А решил к ним вступить.)) Только учти, что у них странный ритуал вступления, после такого ритуала ты будешь хромать и держаться за поясницу))

jerri
28.06.2018, 23:36
jerri, чего-то ты решил встрять? Хочешь перед диззиэйнджейрами прогнуться? А решил к ним вступить.)) Только учти, что у них странный ритуал вступления, после такого ритуала ты будешь хромать и держаться за поясницу))

а ты зачем на ритуал согласился то?

меня больше удивила твоя риторика про Джобса и Apple по 666 баксов.
откуда дровишки?

Smalovsky
30.06.2018, 15:23
а ты зачем на ритуал согласился то?
Разве? Я же не диззиэджнейр.))
Жорри, пойми, что вся эта вычислительная техника очень нехорошая бяка. Даже двоичная система счисления появилась из китайского мистицизма!
Бэббидж придумал эту систему счисления ознакомившись с китайскими бяками https://www.epochtimes.ru/content/view/41706/86/
Также и другие европейцы лезли в китайский мистицизм http://www.vipbook.su/nauka-i-ucheba/philosophy/395106-pisma-i-esse-o-kitayskoy-filosofii-i-dvoichnoy-sisteme-ischisleniya.html
Всё это вылилось в сплошной оккультизм, про который я и писал в записе о Джобсе. Вся двоичная вычислительная техника проникнута оккультизмом. Я зык си и уникс(линукс) связаны с оккультизмом.
Я хотел донести вот что - не связывайтесь с си и линуксом, так как это негативно повлияет на вашу жизнь.

jerri
30.06.2018, 16:26
Разве? Я же не диззиэджнейр.))

ты ж о последствиях рассказывал. значит знаешь о чем говоришь



Жорри, пойми, что вся эта вычислительная техника очень нехорошая бяка. Даже двоичная система счисления появилась из китайского мистицизма!
Бэббидж придумал эту систему счисления ознакомившись с китайскими бяками https://www.epochtimes.ru/content/view/41706/86/
Также и другие европейцы лезли в китайский мистицизм http://www.vipbook.su/nauka-i-ucheba/philosophy/395106-pisma-i-esse-o-kitayskoy-filosofii-i-dvoichnoy-sisteme-ischisleniya.html
Всё это вылилось в сплошной оккультизм, про который я и писал в записе о Джобсе. Вся двоичная вычислительная техника проникнута оккультизмом. Я зык си и уникс(линукс) связаны с оккультизмом.
Я хотел донести вот что - не связывайтесь с си и линуксом, так как это негативно повлияет на вашу жизнь.

я бы тебе рассказал об истоках мистицизма и оккультизма, но не буду.
потому что верующему человеку бесполезно объяснять, его стакан всегда полон.
а то к чему ты призываешь в свое время почти разрушило науку Советского Союза

Smalovsky
30.06.2018, 16:53
ты ж о последствиях рассказывал. значит знаешь о чем говоришь
Это не значит, что япроходил ритуал их. Знать можно из разных источников.

jerri
30.06.2018, 18:08
Это не значит, что япроходил ритуал их. Знать можно из разных источников.

то есть ты сделал это утверждение с чужих слов?
а ты несерьезный человек однако.

Smalovsky
17.07.2018, 13:47
В общем, сделал я пищалку на арду. Текст программы на баскоме.

$regfile = "m328pdef.dat"
$crystal = 16000000

Dim Invalue As Byte , Oldvalue As Byte
Dim Tune As Word

Ddrb = 2
Didr0 = 1

Admux = &B00100000
Adcsra = &B11100111

Ocr1ah = 2
Ocr1al = 0
Tccr1a = &B01000000
Tccr1b = &B00001011

Invalue = 0
Oldvalue = 0

Do
Invalue = Adch And &B11111000
If Invalue <> Oldvalue Then
Tune = Invalue
Tune = Tune + 100
Ocr1ah = High(tune)
Ocr1al = Low(tune)
Oldvalue = Invalue
End If
Loop

По программе арду начинает считывать аналоговый вход с выхода порта C нулевого разряда, и преобразовав данные записывает как предел счёта для таймера 1, частота которого подаётся на выход порта B первого разряда, к линии которого через сопротивление подключен пьезодинамик. На аналоговый вход включил переменный резистор, регулируя который, могу менять высоту звукового тона на пьезодинамике.
Маска по and нужна для ступенчатости изменения тона, при такой маске как в программе будет 256/8=32 ступени тона.
Что меня смутило - бинарник 344 байта. Мне кажется это много для такой простой программы. Хотелось бы узнать, если программу переписать на си, то сколько будет занимать бинарный файл?

JV-Soft
25.07.2018, 12:14
Хотелось бы узнать, если программу переписать на си, то сколько будет занимать бинарный файл?
Си-шники ушли полем и теперь тебе не скажем :biggrin:

JV-Soft
08.08.2018, 18:43
Так как готовой нужной библиотеки не оказалось в bascom ,то пишу свою библиотечку , для БП и зарядного с экранчиком 128x64 , по мимо команд точка ,линия ,окружность , прямоугольник , можно и графику выводить.

https://c.radikal.ru/c28/1808/b1/efac481f9877t.jpg (https://c.radikal.ru/c28/1808/b1/efac481f9877.jpg) https://b.radikal.ru/b23/1808/03/293e9a1a76bft.jpg (https://b.radikal.ru/b23/1808/03/293e9a1a76bf.jpg) https://a.radikal.ru/a32/1808/95/de27a035498ct.jpg (https://a.radikal.ru/a32/1808/95/de27a035498c.jpg)

PS Smalovsky, среда хорошая , только почему то разрабы не соизволили за 18 лет сделать библиотеку с поддержкой st7920 LCD , наверно 18 лет это не такой и срок ,к 30ти летию bascom может добавят :biggrin:

- - - Добавлено - - -

PPS так как для подключения экрана надо около 13 линий контроллера , а st7920 поддерживает SPI , я решил ,что управлять по трем проводам пусть и медленнее ,но зато ноги контроллера для других нужд остаются свободны.

Smalovsky
10.08.2018, 14:27
JV-Soft, может, сделаешь игровую библиотеку для вывода тайлов. На ардуино уже сделали игровую библиотеку.
Игры и библиотека.
https://gamebuino.com/creations
https://gamebuino.com/academy
Если сделаешь, то на баскоме будет своя библиотека.

JV-Soft
10.08.2018, 22:31
JV-Soft, может, сделаешь игровую библиотеку для вывода тайлов.
Как бы тебе объяснить , если хоть иногда следишь за моими поползновениями , то должен заметить , все что касается ретро я хочу клепать исключительно на старой базе , как тут пишут - ЛА3
И мне честно ,не интересен перенос чего то старого на современную базу.
Например этот проект БП и зарядного перекочевал на такой экран только из за удобства восприятия и комфорта для пользователя , но проект ни как не касается ретро , и графику из Exolon я туда кинул просто для проверки кода библиотеки )

Smalovsky
17.08.2018, 16:46
65991
Решил написать программу управления сервоприводом, но не с помощью готовых команд баскома. На фото установка с сервоприводом.
К порту b.0 подключается управляющий провод сервопривода.
В программе альфа и дельта - длительности частей положительного и нулевого уровня в шим-сигнале управления. Само управление реализуется в прерывании по совпадению таймера сервбот. Для правильной синхронизации пришлось сделать стадийную запись данных в буфер подпрограммы сервбот. Флаг temp1 и temp2 показывают, когда данные переносятся в буфер или вычисляются, значения phase1 и phase2 - состояние цикла шим - часть цикла с положительным потенциалом или часть с нулевым потенциалом. На фото есть еще жки-дисплей, это я туда его поместил для Джсофтыча, что бы показать ему, что я тоже начну осваивать дисплеи.
Я программу не совсем правильно составил.
Правильно тут http://bascomavr.3bb.ru/viewtopic.php?id=1852#p25624

Smalovsky
21.10.2018, 16:43
Сделал сомодельную отладочную плату на 8051.

http://s9.uploads.ru/t/A1hCp.jpg
Подробности http://bascomavr.3bb.ru/viewtopic.php?id=1977

JV-Soft
18.11.2018, 20:51
Родил наконец БП в том виде котором хотелось , будет и измеритель емкости в нем и зарядное , пока на bascom , но наверно по возможности на Си перепишу.
Цифровые датчики это конечно бомба.
Управление одним джойстиком

https://c.radikal.ru/c15/1811/6b/6aae2a0be779t.jpg (http://radikal.ru/fp/1vr05av6oc1k3) https://b.radikal.ru/b02/1811/93/04f34e0769b5t.jpg (http://radikal.ru/fp/of797olm2f2gm)

Тут всякие страдания - ТЫЦ (http://p-45.zzz.com.ua/viewtopic.php?t=26)

- - - Добавлено - - -

https://d.radikal.ru/d37/1811/f5/89efbd24fb2ft.jpg (https://d.radikal.ru/d37/1811/f5/89efbd24fb2f.jpg)

Smalovsky
10.07.2019, 17:48
JV-Soft, как тебе ОС реального времени на бейсике?
Aqua OS (https://habr.com/ru/post/453708/)

JV-Soft
10.07.2019, 21:27
JV-Soft, как тебе ОС реального времени на бейсике?
<спасибо>
Отстал от прогресса ,изучу , попробую что то сказать.