Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: pic16f628a +usart
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Leopold111
Здравствуйте. Такая проблема. Шлю "6" принимаю последовательность "egifY%25" (ANSI) ????? должен ведь X(что послал)12345. Со скоростями играл. Увы(( Что может быть???? Работаю с USB-COM на FTDI. Подключая другое устройство тож на пике все ОК. Хм может пики неудачные купил?????? Да, терминал использую Supercom. В ПРОТЕУСЕ все летает).


кварц 4МГЦ
CODE
bsf STATUS,RP0 ;Выбираем банк 1
movlw d'25' ;
movwf SPBRG ;
movlw 24H
movwf TXSTA ;
bcf STATUS,RP0 ;
movlw 90H
movwf RCSTA

CLRF PORTA ;
CLRF PORTB ;
movlw 7H
MOVWF CMCON
BSF STATUS,RP0
MOVLW 1CH ;
MOVWF TRISA ;
MOVLW 06H ;
MOVWF TRISB
BCF STATUS,RP0 ;
=========================================================
sss

MOVLW 31H
MOVWF tx_data
CALL transmitw
MOVLW 32H
MOVWF tx_data
CALL transmitw
MOVLW 33H
MOVWF tx_data
CALL transmitw
MOVLW 34H
MOVWF tx_data
CALL transmitw
MOVLW 35H
MOVWF tx_data
CALL transmitw
CALL PAU_10

bcf RCSTA, CREN
movfw RCREG
movfw RCREG ;
bsf RCSTA, CREN

CALL PollRcv
MOVF rx_data,W
MOVWF tx_data
CALL transmitw
goto sss

PollRcv CLRWDT
btfss PIR1,5 ; check the RBIF bit
goto PollRcv ;
movf RCREG,w
NOP
movwf rx_data
bcf RCSTA, CREN
movfw RCREG
movfw RCREG ;
; bsf RCSTA, CREN
RETURN
transmitw

PollTXIF CLRWDT
btfss PIR1,4 ; check the TXIF bit of PIR register in bank1
goto PollTXIF ; off
movf tx_data,w ;
movwf TXREG
return
end


спасибо.
lastmage
Честно говоря трудно читать асм, когда он без комментов и всё в один столбец.
Посмотри тут: http://www.radiohlam.ru/program/pic_usart_prog_prost.htm
Рабочий UART и тоже для 16F628A. попробуй оттуда прошивку залить, если будет работать, разбирайся что у тебя не так.

P.S. А нафига ты две темы создал?
Leopold111
Увы( Попробывал прогу. Результат тотже(. Шлю 4 (34h) получаю ) (29h), а должен 5 (35h). Попробывал с pic16f648a. Результат тотже. Единственное я использую кварц на 20 мгц, так что слово конфигурации изменил на 3F0Ah. и скорость выставил 9600(spbrg=.129)
Lexi
Советую Вам изучать си.

Установка внешнего осцилятора

Код
#fuses HSPLL


Обозначим частоту

Код
#use delay(clock=20000000)


Вывод строки в UART

Код
printf("123456");
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.