|
|
  |
Микроконтроллеры для начинающих, AVR, PIC, FUJITSU |
|
|
|
Mar 22 2011, 16:25
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(Claw @ Mar 22 2011, 18:39)  А зачем нужен предварительный делитель? Вам надо почитать какую-нибудь литературу на русском. Суда по вашим вопросам, читать даташиты на английском пока рано. Посмотрите, например, вот это.
|
|
|
|
|
Apr 19 2011, 13:01
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (Claw @ Apr 19 2011, 15:30)  можно сделать так, чтобы команда btfss f,b(проверяет бит b в регистре f и пропускает следующиую команду, если результат 1) пропускала при выполнении условия не одну команду, а несколько,заданное количество? Нет, нельзя. Но можно использовать команду btfsc f,b которая будет пропускать следующую команду goto, которая, в свою очередь, "пропускает не одну команду, а несколько,заданное количество".
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Apr 19 2011, 20:10
|

Участник

Группа: Участник
Сообщений: 71
Регистрация: 13-11-10
Из: Могилёв
Пользователь №: 60 868

|
MOVLW B'11111111' MOVWF TRISC; .... .... .... MOVLW B'11111111' XORWF PORTC,0 BTFSC STATUS,Z NOP BSF PORTB,0 Последний кусочек кода делает: 1.пересылает константу в аккумулятор 2.сравнивает константу с состоянием битов в порте С,сохраняет результат в аккумуляторе и меняет(не меняет) состояние флага Z 3.если значение флага Z=0(нашлось различие в битах между сравниваемыми регистрами),то устанавливаем нулевой бит в порте B и далее по кругу,если нет,то задержка Я правильно понимаю?Просто программа у меня по "моей логике" не работает,значит я понимаю может быть не совсем правильно или совсем неправильно...помогите
|
|
|
|
|
Apr 20 2011, 01:41
|
Местный
  
Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032

|
Цитата(Claw @ Apr 20 2011, 00:10)  3.если значение флага Z=0(нашлось различие в битах между сравниваемыми регистрами),то устанавливаем нулевой бит в порте B ... а если Z=1, то ничего не делаем, а потом точно так же устанавливаем нулевой бит в порте B. Просто задержка, да. Очень маленькая такая задержечка... чем наблюдается она, как выяснено "не работает?" Цитата и далее по кругу прописать "по кругу" * надо в программе, а не на форуме. * любая программа должна так или иначе бесконечно зацикливаться в любом случае. (не спящий) процессор всегда выполняет какую-то инструкцию; "всё сделать и остановиться" нельзя. это мало ли вдруг.
Сообщение отредактировал нечитатель - Apr 20 2011, 02:00
|
|
|
|
|
Jul 19 2011, 18:33
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 28-11-10
Пользователь №: 61 234

|
MCC18 бесплатная версия. Начинаю изучать Си под пики. Не понимаю как пользоваться строковыми функциями и ф-ями вида memst().
include "p18f14k50.h" #include "string.h" unsigned char RS232_Out_Data[15]="45a0"; void main(void) { memset(RS232_Out_Data, '\0', 15); strcpy(RS232_Out_Data,"543"); RS232_Out_Data[0]='4'; RS232_Out_Data[1]='5'; RS232_Out_Data[0]='\0'; }
- почему memset вначале забивает все нулями, а потом снова возвращает все как было? Почему strcpy ничего не копирует в RS232_Out_Data ? Посимвольное копирование (4,5,\0) - работает нормально.
|
|
|
|
|
Jul 24 2011, 10:48
|
Группа: Участник
Сообщений: 13
Регистрация: 29-07-08
Пользователь №: 39 288

|
Хочу начать знакомится с контролерами, уже есть ATmega8A, всвязи с чем возникли вопросы: 1) Можно ли ипользовать программатор Громова для прошивки? 2) Где найти уроки со схемами и написанием кода для мигания светодиодами и более сложными задачами?
|
|
|
|
|
Jul 25 2011, 04:19
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(Qb1024 @ Jul 24 2011, 14:48)  Хочу начать знакомится с контролерами, уже есть ATmega8A, всвязи с чем возникли вопросы: 1) Можно ли ипользовать программатор Громова для прошивки? 2) Где найти уроки со схемами и написанием кода для мигания светодиодами и более сложными задачами? В книгах например: Вольфганг Трамперт "AVR-RISC микроконтроллеры"Джон Мортан " Микроконтроллеры AVR"Наберите в инете Самоучитель по AVR
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Sep 23 2011, 18:07
|
Местный
  
Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769

|
Цитата(Qb1024 @ Jul 24 2011, 14:48)  1) Можно ли ипользовать программатор Громова для прошивки? Есть знакомые, которые использовали программатор Громова для LPT и пожгли порт этим программатором. Соединять напрямую пины LPT и целевое устройство это слишком рискованно. Надо чтоб хоть буфер был как у байтбластера. Для нормальной работы можно пользоваться байтбластер + софт AVREAL.
|
|
|
|
|
Nov 12 2011, 07:52
|

Частый гость
 
Группа: Свой
Сообщений: 106
Регистрация: 26-09-10
Из: Riga, Latvia
Пользователь №: 59 736

|
Цитата(Qb1024 @ Jul 24 2011, 13:48)  Хочу начать знакомится с контролерами, уже есть ATmega8A, всвязи с чем возникли вопросы: 1) Можно ли ипользовать программатор Громова для прошивки? 2) Где найти уроки со схемами и написанием кода для мигания светодиодами и более сложными задачами? 1. Можно, но имхо лучше попробуйте через COM порт. http://easyelectronics.ru/avr-shag-pervyj-programmator.html Вот к примеру - элементарное решение через COM. 2. Для ассамблера есть внятные уроки здесь - http://radiokot.ru/start/mcu_fpga/avr/. Там уроки не для atmega8a, но суть это не меняет, проблем не должно возникнуть.
Сообщение отредактировал mig-11101 - Nov 12 2011, 07:55
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|