Просмотр этой темы:
1 анонимных пользователей
Сотрудник
Зарегистрирован:
13.12.2010 16:50 Из: Krasnodar
Сообщений:
33
|
Есть, если не думать только о себе. Я ведь не только для себя стараюсь. Если что-то получится, то можно будет проект выложить, как альтернативу девайсу на PIC16F628, тем более, что здесь дизайн покруче будет однако. Один раз помучаться стоит наверное, или у нас наступило время единоличников и когда все за деньги?
Кстати обмотки я уже перекинул и все работает отлично, но хочется и этот вариант добить до конца. Я готов помучаться, вы только подскажите направление (только не на ...), туда и я могу показать
Отправлено: 15.11.2011 16:14
Отредактировано пользователем hall_2007 15.11.2011 16:41:28
|
|
Сотрудник
Зарегистрирован:
13.12.2010 16:50 Из: Krasnodar
Сообщений:
33
|
Я тут вот что накопал,возможно это наведет на какие-нибудь мысли. В проекте на PIC16F628 инверсия реализована так:
;***** VARIABLE DEFINITIONS ; #define MotorCounterClockWise ; un-comment this line if motor is running counter clockwise а для простого кулера так: ;***** VARIABLE DEFINITIONS #define MotorCounterClockWise ; un-comment this line if motor is running counter clockwise Просто раскоментировать строку нужно. Но это для ПИК-а и написано на Ассемблере, а поляк заколбасил свою прошу на Си, и будет ли понимать Atmega такого рода команду? Наверняка нечто подобное должно быть и здесь, но как это можно реализовать не представляю, т.к. "Си" почти не знаю.
Отправлено: 15.11.2011 22:58
|
|
Практикант
Зарегистрирован:
12.10.2011 19:56 Сообщений:
8
|
#define MotorCounterClockWise ; un-comment this line if motor is running counter clockwise-это обращение к подпрограмме записи в РОН откуда берется прорисовка и т д а у поляка возможно нужно посмотреть uint8_t Invert(uint8_t a);
uint8_t Invert(uint8_t a) { uint8_t Result = 0; uint8_t i; for(i = 0; i < 8; i++) if(a & (1 << i)) Result |= (1 << (7 - i)); return Result; может я и ошибаюсь но думаю принцип один и тот же выделенна какая то часть РОН откуда берется прорисовка
Отправлено: 15.11.2011 23:27
|
|
Сотрудник
Зарегистрирован:
13.12.2010 16:50 Из: Krasnodar
Сообщений:
33
|
Спасибо, попробую, но наверное уже не сегодня...
Отправлено: 16.11.2011 7:20
|
|
Сотрудник
Зарегистрирован:
13.12.2010 16:50 Из: Krasnodar
Сообщений:
33
|
agsol, в общих чертах вроде бы понятно, но какие переменные нужно изменить, убрать, или добавить? Тут ведь каждая закорючка играет свою роль. Мои танцы с бубном ни к чему пока не привели- компилятор матерится при попытке что-либо изменить в приведенных строках. Ну не программер я...
Отправлено: 17.11.2011 15:03
|
|
Практикант
Зарегистрирован:
12.10.2011 19:56 Сообщений:
8
|
А что менял, если честно надо вникать ая одним глазком посмотрел просто очень похоже а вообще надо копать похоже
void PrintString(char *Str, uint8_t Len); void PrintInvertedString(char *Str, uint8_t Len); что делает uint8_t Len и т д может надо заменить на uint8_t a а может убрать(закомент)uint8_t Invert или void PrintInvertedString(char *Str, uint8_t Len); а может она вообще не задействована uint8_t Invert(uint8_t a) и надо задействовать; на мой взгляд где то здесь
Отправлено: 19.11.2011 1:46
|
|
Практикант
Зарегистрирован:
12.10.2011 19:56 Сообщений:
8
|
а вообще мне кажется ты не сможеim капельнуть
#include <avr/io.h> #include <inttypes.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdio.h> #include <string.h> #include <avr/pgmspace.h> #include <setjmp.h> #include <stdlib.h> #include <avr/boot.h> #include "mbi.h" #include "tables.h" #include "twi.h" #include "rtc.h" #include "font.h" не все модули присутствуют по крайней мере я не увидел <string.h> и т д проверь все ли модули есть в наличии
Отправлено: 19.11.2011 1:57
|
|
Сотрудник
Зарегистрирован:
13.12.2010 16:50 Из: Krasnodar
Сообщений:
33
|
С этим набором модулей прошивка компилируется, я уже пробовал. Пробовал убрать "Invert" из uint8_t Invert(uint8_t a), но это ничего не изменило. Его можно вообще заменить на любое слово или символ, но без него компилятор уже матерится.
Отправлено: 20.11.2011 2:53
|
|
Практикант
Зарегистрирован:
12.10.2011 19:56 Сообщений:
8
|
"Invert" из uint8_t Invert трогать не надо или менять
надо попробовать в нутри uint8_t Result = 0; uint8_t i; for(i = 0; i < 8; i++) if(a & (1 << i)) Result |= (1 << (7 - i)); вот здесь надо попробовать закоментировать и оставить что тоuint8_t Result = 0; uint8_t i; return Result типа этого и посмотреть что будет если изображения измениться значит копать дальше тут
Отправлено: 21.11.2011 12:28
|
|
Сотрудник
Зарегистрирован:
13.12.2010 16:50 Из: Krasnodar
Сообщений:
33
|
Сделал вот так:
uint8_t Invert(uint8_t a)
Откомпелировал,прошил но изменений нет. Пробовал удалять то, что закомментировано- результат тот же. Видать не здесь искать нужно
Отправлено: 21.11.2011 16:58
Отредактировано пользователем MACTEP 12.02.2012 19:35:21
|
|