Подскажите новичку
Dim Data_l As Long
Dim Data_b(4) As Byte At Data_l Overlay
Data_l=&H_AC530000
почему в массиве Data_b все наоборот? 1- 00; 2-00; 3-53; 4-AC
Программирование ATMEL в BASCOM. |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Программирование ATMEL в BASCOM. » FAQ по Bascom AVR и МК » Overlay
Подскажите новичку
Dim Data_l As Long
Dim Data_b(4) As Byte At Data_l Overlay
Data_l=&H_AC530000
почему в массиве Data_b все наоборот? 1- 00; 2-00; 3-53; 4-AC
Ничего удивительного, так распределяются данные в памяти.
а как развернуть?
а как развернуть?
Примитивно так, через промежуточный массив:
for i=1 to 4
temp(i)=Data_b(i)
next i
Data_b(1)=temp(4)
Data_b(2)=temp(3)
Data_b(3)=temp(2)
Data_b(4)=temp(1)
А можно командой swap. Почитайте хелп к васику.
Отредактировано Tankor (2016-09-19 20:48:23)
А что нельзя забирать данные из массива в обратном порядке?
А что нельзя забирать данные из массива в обратном порядке?
можно. Написал, чтоб понял Null.
Это избыточно (перегонять из одного массива в другой), изначально забирать данные из массива Data_b в обратном порядке.
Об этом всё написано в хелпе: http://avrhelp.mcselec.com/index.html?dim.htm
Можно вообще сделать так:
Dim Data_l As Long Dim Data_b_1 As Byte At Data_l + 3 Overlay Dim Data_b_2 As Byte At Data_l + 2 Overlay Dim Data_b_3 As Byte At Data_l + 1 Overlay Dim Data_b_4 As Byte At Data_l + 0 Overlay
Всё от дальнейшей реализации зависит...
Отредактировано RDW (2016-09-20 12:56:54)
да так и сделал
В обратном можно да не удобно..
Программатор Dataflash AT45DBxx | Программаторы, прошивка МК | 2021-12-25 |
Работа с переменными ч.3 | FAQ по Bascom AVR и МК | 2019-07-18 |
MODBUS | Схемы | 2019-03-26 |
Скорость работы операторов Bascom | FAQ по Bascom AVR и МК | 2023-05-26 |
Bascomavr 2.0.0.0! | О программе BASCOM AVR | 2024-03-17 |
Вы здесь » Программирование ATMEL в BASCOM. » FAQ по Bascom AVR и МК » Overlay