Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Bascomavr 2.0.0.0!

Сообщений 91 страница 120 из 169

91

Моя ситуация разрешилась в конце-концов. Перекачал с сайта дистрибутив, переустановил сверху и заработало все. Компилирует без указания стеков и initlcd. Никаких ошибок. Win7 x64.
Спасибо всем.

На втором компьютере, с такой же Windows, после переустановки проблема осталась, без initlcd опять ругается на неверную мнемонику. Да и хрен с ней, буду вставлять в код. Но все равно непонятно.

Отредактировано Djavdet (2015-01-15 05:49:46)

+1

92

Да уж, интересно, кто-же всё таки виноват?

0

93

а как у вас с именем пользователя?
может ему не нравится кириллица?
у меня в имени пользователя именно кириллица, у radan - тоже

выложите ошибки полностью...

0

94

Ошибку я уже выкладывал на скриншоте. Пользователи везде на английском, без пробелов. Windows везде английская тоже.

0

95

А я так и продолжаю сидеть на 2077 версии, мне она вообще кажется более стабильной, чем эта 2078.

0

96

Например я так не смог запустить семейство XMega, я их довольно часто использую (больно гибкие и шустрые). Старые проекты от 2076 в 2077 не собираются, а если посидеть и подправить их, то всё равно не работают. Марку задавал на форуме вопрос, он мне так и не ответил. У меня вообще с Марком натянутые отношения, больно много я ему провокационных вопросов в своё время задавал. В общем он при взят ко мне. :D

0

97

Спасибо, за содействие. Пока не горит, я в последней версии из вкусного вижу только работу с I2C Master, но надобность в нем пока отпала.

0

98

у меня она не ставится. Писал про это. Чистый комп, не ломанная винда. Вылетает при установке. Проверено на 2х машинах
у трети пожаловавшихся пользователей не работает LCD, еще у трети - вылет на циклах (уже упомянули). Встречал в сети не лестные отзывы о новой версии. Все пользователи - с лицензией. И почему эту версию не отзывают?! нет бы "блин, Рождество отмечали, пили, курили, кодили по чем зря" - народ бы понял :)

0

99

Mrshilov написал(а):

Что значит "не горит"? Вы сказали, что "версия нестабильная, проекты не собираются и не работают".

Судя по их форуму такая проблема только у меня или весь мир не юзает ХМеги.)
Вообще порой кажется, что вот-вот mcselec.com - умрет, резкое падение активности в направлении развития проектов и поддержки (общая тенденция на их форуме такова). Мне фиолетово на это всё, нет времени и желания в этом разбираться, тут ещё возможно кроется политический аспект, т.к. Россия не страна Евро союза и прочие. :D
Я в их QA не работаю и денег мне не платят для разбирания полетов или доказывания их неправоты.
В общем я этим голову не забиваю, купил продукт, более менее работает - нормально (мы уже привыкли к такому отношению).

-1

100

Mrshilov написал(а):

Я и не прошу разбираться.

это два противоречащих друг-другу понятия  :D

Mrshilov написал(а):

хотя бы просто расскажите где и что конкретно у вас глючит.

мне сейчас придется вспоминать (разбираться и напрягаться) несколько месяцев давности события, выглядеть это будет с вашей точки зрении как "Сплошная пустая болтовня"

и так...берете простую задачу: мигание светодиодом (Porte.3) по прерыванию, раз в секунду
дано: внешний кварц 32768 Гц, а для тактирования используется внутренний на 32 МГц

Код:
$regfile = "xm32a4def.dat"
$hwstack = 64
$swstack = 64
$framesize = 64
$crystal = 32000000

$lib "xmega.lib"
$external _xmegafix_clear
$external _xmegafix_rol_r1014

Config Osc = Enabled , 32mhzosc = Enabled , Extosc = Enabled , Startup = Extclk

Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1

Config Clock = Soft , Rtc = 1khz_32khz_crystosc , Gosub = Sectic

Config Porte.3 = Output
Config Xpin = Porte.3 , Invertio = Enabled
Led Alias Porte.3

Config Priority = Static , Vector = Application , Lo = Enabled

Enable Interrupts

Do
   !nop
Loop
End

Sectic:
   Toggle Led
Return

Этот код в 2076 - работает.
В 2077 - уже при сборке начинаются ошибки (какие - не помню, версия не установлена в системе). Помню что-то с инициализацией ($external _xmegafix_clear, $external _xmegafix_rol_r1014 или конфигами). Устраняем их по новым правилам и вуаля, получаем HEX, шьем его в МК и - тишина, светодиод не мигает (на  Porte.3).
Почему? Не знаю, ответа я так сходу и не нашел, нужно было делать проект, а разбираться с граблями на пустом месте - увольте. Надо было иметь не дюжинную "гениальность", чтобы спустя столько версий баскома, изменить принцип работы/инициализации ХМег.

Отредактировано RDW (2015-01-23 00:12:49)

0

101

Очевидно же, что не у всех собирается. :D
Светодиод мигает?

Вам разборка важней, чем дело.

Отредактировано RDW (2015-01-23 10:46:44)

-1

102

Тоже компилируется в 2.0.7.7 и 2.0.7.8.

+1

103

хватит...

0

104

Можно  стабильную версию 2077   в личку или на почту. там usb1286  есть.

-1

105

КПСС, как и СССР, давно нет. А коммунизма вообще не было!
всё стоит денег.
Даже работа группы специалистов: программистов, электронщиков и технических писателей

0

106

slava_kpss написал(а):

Можно  стабильную версию 2077   в личку или на почту.


Можно, по цене 89 евро.
Пиратские копии не распространяем.

0

107

Хм... Version 2.0.7.8 подчёркивает синтаксис и много вкусностей ))) Она есть на русском языке с лицензией?
http://basavrhelp.mcselec.com/bascom-ide-sections.zoom82.png

0

108

а в чем конкретно вопрос?
я лично не пользуюсь этой версией, так как у меня перестали компилироваться некоторые проекты.

0

109

ни того, ни другого нет - просто дикие ошибки. Я выкладывал некоторые скриншоты.
Плюнул и откатился на предыдущую.

0

110

уже не помню где были проблемы. Чтобы узнать, что у меня не компилируется - надо поставить х.8 . А мне сейчас не до экспериментов :)

0

111

У меня версия IDE и компилятора - 001.
Проверка обновлений не обнаруживает новых версий. На сайте и форуме тоже никаких новостей. На странице загрузки текущая 2.0.7.8.001 (см. окно если кликнуть по кнопке "History").
Так как же узнать о выходе новой версии?
Качать дистрибутив или через UpdateWiz?

Mrshilov написал(а):

Скачать.

Это похоже что какая-то отладочная версия, потому что размеры файлов примерно в 10 раз больше чем из дистрибутива.

0

112

Версия 7.8.004 Кто пробовал сворачивание текста? У меня он самопроизвольно разворачивается.

0

113

В версии 2.0.7.8.004 что-то не то с подсветкой кода. Произвольные куски кода окрашиваются в серый цвет.

0

114

да. Хороший редактор Баскому не помешал бы!! работаю в нём всё больше и больше, требования всё выше и выше )

0

115

Появилась новая версия 2079 beta. http://www.mcselec.com/index2.php?optio … mp;t=12976
В виде дистрибутива пока нет. Нужно качать через UpdateWiz.

2079.001 BETA

- big font collection, contributed by Adam Siwek.
- report can be opened in IDE as text file.
- mySmartUSB light programmer support added.
- W5500 socketconnect has a 4-th parameter : nowait. When you make it 1, there is no wait for connection.
- $ROMSTART added : $romstart = &H8000 , will let the code start at &H8000. Default is 0.
- jtag ice mkII programmer new firmware 7.26 from studio resulted in signoff problem. Workaround implemented.
- editor can show unused code in conditional compilation. Edit, Show Excluded Code menu option.
- usbasp programmer updated. chosen clock frequency will work.
- makemodbus() did not support locals/passed parameters properly.
- crc16 supports eeprom memory too. you need to add const CRC16_EEPROM=1 to your code.
- simulator fix for xmega low IO registers. registers were simulated with a 32 byte offset as in plain AVR.
- config lcd has 2 new options : BEFORE and AFTER. with param value of 1 a sub will be called _lcdBefore and _lcdAfter
  just before the LCD is used. This allows for example to turn off interrupts when executing LCD code.
  Only text LCD is supported.
- getadc() when used on normal AVR with offset parameter, and both parameters numeric will give an error when MUX5 bit must be set.
  Use getadc() with just the channel parameter.
- multi dim arrays, added ERAM byte support, and used registers are saved now.
- saving programming buffer as HEX file created wrong HEX files which would not load in Studio.
  This would occur for chips with multiple segments like xmega128
- Full Kamprog support added. Like changing fuse bytes from within bascom.
- multi dim arrays had no check on invalid index value (non dimmed)
- using a constant float without leading 0 resulted in an error : var= var + .12344
- INPUT did not support DWORD. As a work around, use a LONG overlay.
- added user definable command buttons to terminal emulator.
- support added for W5500 tcp/ip chip
- using {} in constants was not working as expected : Const Cmd_suffix_ver1 = Asc( "{013}") was not interpreted as 13 but 123 (the { sign)
- changed PDF download from HTTP to FTP. This is quicker and better for the server. PORT 211 is used for FTP.
- atxmega128c3 added.
- FT800, vertex2ii , the X is clipped. Change call in sub vertex2II into Cmd32 _vertex2ii(___wtmpb , R18 , R17 , R16)
- support for EADOGXL240-7 I2C added, see eadogxl240-7.bas. This is a customer sponsored lib.
- added support for SSD1306 I2C OLED, see SSD1306-I2C.BAS.
- i2c multi bus lib does not clear ERR bit correctly.
- when a multi dim array is only used within sub/functions and submode=new is used, you get an error since the
  index table is not written. work around : access the array in the main code. for example with a dummy read.
- multi dim arrays can only be used to read/assign variables. Using them in functions and statements will not work.
- str() can have an optional parameter to specify the amount of digits. This works for double, but now also for singles.
- MOD for singles changed in fp_trig.lib so it uses the same algorithm as excel/VBA.
- FOR..NEXT with words and STEP with values other than 1 will not work properly : for w=1 to 10 step 2
  As a work around use an integer or overlayed integer.The reason is that in 2078 the add code is optimized. Instead of add/adc and loading registers with immediate values it will use subi/sbci but this will set different flags.
- when opening a single file in non-project mode, the code explorer does not get updated until you set the cursor on the code.
  This also leaves the pinout viewer empty. workaround : open another file or set the cursor/focus to the edit window.
- R0-R31 internal variables are now exposed as byte variables. This is simple than using getreg/setreg.
- added option to skip eeprom cell test. This allows to write all FF to the EEPROM whithout erasing the chip.
- terminal emulator font color could not be selected from the font dialog.
- added chip name to info panel when chip does not match. no match will give a red font, a match will show font in green.
- added an error message when $hwstack,$swstack and $framesize are missing from the source.
- hovering the indention line will show the begin of the structure in the tool tip (just try it).
- stacktrace speed up. big projects made the stacktrace slow.
- improved speed for showing deadcode/unused variables
- rotate left|right did not work for xmega port registers.
- shift left/right did not work for xmega port registers
- FT801 support added. New FT801 samples. INC files renamed into FT80x.
- Rainbow/WS2812 support added. See CONFIG RAINBOW. This is the rainbow lib from Galahat, see : http://bascom-forum.de/mediawiki/index.php/Rainbow_Lib

0

116

отпишитесь, кто пользовался: всё ли поставилось, компилирует ли старые проекты без ошибок, изменяется ли размер сгенерированного кода по сравнению с предыдущими версиями?

0

117

Пробовал пару проектов, которые изначально писались в версии 2.0.7.7. Компилируется. Размер прошивки не изменился.

0

118

Интересный момент. При симулировании  в протеусе , переменные не отображаются на версии 2.0.7.8
http://s7.uploads.ru/t/0eZzP.png
При компиляции старого проекта, была такая фишка,  что скомпилировался нормально. В протеусе работает. Баскомовский симулятор работает. Прошиваю через бутлоадер- труп. Потом тупо скопировал текст программы на новый лист, скомпилировал и всё ок. :dontknow:
XP SP3

0

119

kip написал(а):

Интересный момент. При симулировании  в протеусе , переменные не отображаются на версии 2.0.7.8


В Протеусе 8, появятся переменные.

0

120

Долго сидел на 2.0.7.1 и всё было норм.
Перешел на 2.0.7.8 и начались приключения с массивами.
Обнуляются стринговые переменные. Это же ловил на 2.0.7.5 и тоже тогда откатился на 2.0.7.8
А обнуляются потому что две разных переменных используют одинаковый адрес в памяти.
И не в HW стеке тут дело. Его выше крыши.
Симулятор показал что баском затирает переменную положив по её адресу в памяти другую переменную((

Вот такой код и приключения с обнулением переменной 12_tmp с  Bascom 2.0.7.8.

Код:
'test Bascom 2.0.7.8
$regfile = "m328def.dat"
$crystal = 16000000
$hwstack = 100
$swstack = 100
$framesize = 80

'*****************Настройка портов***********************

Config Portb.0 = Output                                     'E
Config Portb.1 = Output                                     'Db4
Config Portb.2 = Output                                     'Db5
Config Portb.3 = Output                                     'Db6
Config Portb.4 = Output                                     'Db7
Config Portd.7 = Output                                     'Rs
Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.0 , Rs = Portd.7 
Config Lcd = 16 * 2
Cursor Off Noblink                                  
'
Dim число As Long
Dim число_lcd As String * 8
Dim число_12 As String * 2
Dim число_325 As String * 3
Dim число_678 As String * 3
Dim 12_tmp As String * 2
Dim 325_tmp As String * 3
Dim 678_tmp As String * 3
'                                     
Declare Sub дисплей                                  
'
число = 12345678'
Locate 1 , 6 : Lcd ".   ."                                  'точки вывести
'
'
'
 Do                                                         'начало  цикла
 число = число + 1
 waitms 500
 gosub дисплей
 Loop                                                       'конец цикла
'
'
'
Sub дисплей
число_lcd = Str(число)                                'STR() перевод в строку числа
 If число => 10000000 Then
    число_325 = Mid(число_lcd , 3 , 3)
   Else
    число_325 = Mid(число_lcd , 2 , 3)
End If
 число_678 = Right(число_lcd , 3) 'ВОТ ТУТ обнулится переменная 12_tmp
  Locate 1 , 4 : Lcd "  "
   If число => 10000000 Then                             '>= 10.000.00067
   число_12 = Left(число_lcd , 2)
    If число_12 <> 12_tmp Then
     Locate 1 , 4 : Lcd число_12
     12_tmp = число_12                                 'Запомнить 1-2 разряд
    End If
  Else                                                      '<= 9.999.999
   число_12 = Left(число_lcd , 1)
    If число_12 <> 12_tmp Then
     Locate 1 , 4 : Lcd " " ; число_12
     12_tmp = число_12
    End If
  End If
  If число_325 <> 325_tmp Then
   Locate 1 , 7 : Lcd число_325
   325_tmp = число_325
  End If
  If число_678 <> 678_tmp Then
   Locate 1 , 11 : Lcd число_678
   678_tmp = число_678
  End If
  12_tmp = число_12
End Sub

Смысл данного кода в том чтоб выводить только тот разряд который изменился. Управляться дисплейчик будет по i2c и есть другие устройства на этой шине. Оно и так по i2c тормознутое. Да и не в этом вопрос. Почему на 2.0.7.1 этот код работает нормально а на 2.0.7.8  обнуляется переменная 12_tmp ?

Отредактировано zenit (2016-03-04 18:45:30)

0