Форум
 

Вернуться   Форум "Фрикер Клуб" - кодграббер своими руками > Основной раздел > Микроконтроллеры

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 26.07.2019, 23:50   #11
ahalam Меню Пользователя
Резидент клуба
 
Аватар для ahalam
 
Регистрация: 04.12.2012
Сообщений: 42
По умолчанию Re: функция "make8()" как развернуть в обратную сторону?

Ну, уболтал! Уже качаю!
__________________
in hope of deliverance
ahalam вне форума   Ответить с цитированием
Старый 26.07.2019, 23:53   #12
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,324
По умолчанию Re: функция "make8()" как развернуть в обратную сторону?

Попроси DIVERSANT . У него есть исходники мои, там уже все зделано. У меня компа своего рядом нет. А там usb-граббер готовый.
EPA вне форума   Ответить с цитированием
Старый 30.07.2019, 16:40   #13
Бурый Меню Пользователя
Резидент клуба
 
Аватар для Бурый
 
Регистрация: 05.01.2014
Сообщений: 460
По умолчанию Re: функция "make8()" как развернуть в обратную сторону?

Цитата:
Сообщение от EPA
Сноси Android Studio, на Visual мона писать как на андройд так и на Айфоны.
Там инициализация твоего usb-порта одной строкой:

SerialPort usbDataFack = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One);
Прием данных можно через usbDataFack.DataReceived()

Добавлено через 7 минут
А если у тебя стоит Android Studio, то должен знать Java. А Java ( старший брат Android) это тот же Сишарп C#, тока со своими библиотеками.

Добавлено через 5 минут
int main() -правильно пишут main(), т.е. без int.это стандарт.
int i[4] = {0xf1,0xf2,0xf3,0xf4} пишут int i[ ], т.е без 4. Это тоже стандарт.
Чтобы каждый раз не инициализировать переменные в главном цикле , то их выносят за main() { }.

Добавлено через 14 минут
uint32_t m = 0; -это безнаковый int, а _t -значит шаблон.
И если прога на компе , то int автоматом 32-х разрядный.

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

Добавлено через 8 минут
А самое главное, привожу вырезку от уважаемого Paul74s:
....
собрать byte в long можно так
long =byte[3]; long<<=8;
long+=byte[2]; long<<=8;
long+=byte[1]; long<<=8;
long+=byte[0];
Можно и через цикл, но выигрыш может быть отрицательным как по месту так и по времени работы
...
Так что брат, не кипятись согласись, так красивее.

Добавлено через 18 минут
И послееднее: если единожды написав код на Visual Studio, то очень очень легко его перенести прогу и на anroid и IPhone, что не скажешь про твою Geany.

На мой взгляд собиратьlong из байт следующим способом - не совсем изящно что-ли, лучше через макросы в define
__________________
Планировалось сделать "устройство"...и снова получились часы. Бой курантов тревожит двор)
Бурый вне форума   Ответить с цитированием
Старый 30.07.2019, 17:58   #14
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,324
По умолчанию Re: функция "make8()" как развернуть в обратную сторону?

Цитата:
Сообщение от Бурый
На мой взгляд собиратьlong из байт следующим способом - не совсем изящно что-ли, лучше через макросы в define

Ну на этот вопрос давайте подискутируем. Что есть макрос? define?
Макрос-это есть маленькая функция (процедура, микропрограмма).
define-это есть кусок кода, который вставляется в основную программу. И надо заметить,что любой define наш компилятор не может проверить на ошибку. Таким образом, разработчики ( создатели какого нибудь языка программирования) давным давно отказались от define в коде: сейчас либо сам пишешь свой метод (функцию ), либо вставляешь готовый метод из библиотеки разработчика.

Добавлено через 16 минут
А поповоду собирать long из байтов, как можно изящно сделать не прибегая к функции ToInt32 () и тому подобного?

Последний раз редактировалось EPA; 30.07.2019 в 19:30.
EPA вне форума   Ответить с цитированием
Старый 06.08.2019, 22:15   #15
ahalam Меню Пользователя
Резидент клуба
 
Аватар для ahalam
 
Регистрация: 04.12.2012
Сообщений: 42
По умолчанию Re: функция "make8()" как развернуть в обратную сторону?

интересно было бы взглянуть на пример такого макроса. Ведь все познается в сравнении

Добавлено через 44 минуты
я скомпилировал функцию make32() от CCS и получил такой листинг:


.................... n = make32(m[3],m[2],m[1],m[0]);
*
01240: MOV.B 1177,W0L
01242: MOV.B W0L,117B
01244: MOV.B 1176,W0L
01246: MOV.B W0L,117A
01248: MOV.B 1175,W0L
0124A: MOV.B W0L,1179
0124C: MOV.B 1174,W0L
0124E: MOV.B W0L,1178

по моему проще некуда
__________________
in hope of deliverance
ahalam вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 02:05. Часовой пояс GMT +3.


vBulletin 4.1.0 Перевод: zCarot
(C) www.phreakerclub.com
Яндекс.Метрика