| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
USART на PIC18
08.12.2011, 10:44
|
#31
|
|
Гражданин KAZUS.RUN
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
|
Re: USART на PIC18
Сообщение от george carpenter
|
|
только не знаю где частоту задать...
|
Частота задана в программе. Если
|
Цитата:
|
|
CRYSTAL Frequency: 20MHz
|
то в winpic800 выбирается тип кварца НS
|
|
|
|
08.12.2011, 17:39
|
#32
|
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
Странно, сделал теперь вот так, вроде все правильно, но все равно не заводится. Контроллер вообще не оживает. Прикладываю на всякий случай код программы, может там что не так. Или подсоединил что-то не так  Питание от 3х батареек, (вроде все учел Vdd и Vpp подсоединил к ним) Vss земля, вроде путаться негде
|
PHP код:
|
#include ‹htc.h›
#include ‹pic18f4620.h›
#include ‹math.h›
#include ‹stdlib.h›
#include ‹stdio.h›
#include ‹time.h›
#include "delay.c"
#include "usart.h"
#define SIZE 8192
#define ISBITSET(x,i) ((x[i››3] & (1‹‹(i&7)))!=0)
#define SETBIT(x,i) x[i››3]|=(1‹‹(i&7));
#define CLEARBIT(x,i) x[i››3]&=(1‹‹(i&7))^0xFF;
//volatile static bank2 char map[1024];
void main(void)
{
TRISA = 0;
RA0 = 1;
for (int i =0; i‹10; i++)
{
DelayMs(999999999);
}
USARTInit();
for (int cyc = 1; cyc‹=3; cyc++)
{
int count = 0;
int val = 155;
srand(cyc);
for (int i = 0; i‹=SIZE; i++)
{
int rd = rand()% 256;
if ( val › rd)
{
//SETBIT(map,i);
USARTWriteString("1");
count++;
}
else
{
//CLEARBIT(map,i);
USARTWriteString("0");
}
}
USARTWriteString(" ");
USARTWriteInt(count,255);
USARTWriteString(" ");
}
while(1){
DelayMs(999999999);
}
}
|
Последний раз редактировалось george carpenter; 08.12.2011 в 17:42.
|
|
|
|
08.12.2011, 18:36
|
#33
|
|
Гражданин KAZUS.RUN
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
|
Re: USART на PIC18
Сообщение от george carpenter
|
|
вроде все учел Vdd и Vpp подсоединил к ним
|
Это куда?
Сброс есть?
DelayMs(999999999); Писать бесполезно, компилятор заменит их мах возможными значениями типа 30.
Нужна схема с номиналами и прошивкой.
Для прошивки нужна тест- программа постоянного вывода в порт В 0х0F.
Последний раз редактировалось XoDoK11; 08.12.2011 в 18:47.
|
|
|
|
08.12.2011, 19:58
|
#34
|
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
Vdd и Vpp к +5V. Сброса нет.
|
|
|
|
08.12.2011, 20:00
|
#35
|
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
Сообщение от XoDoK11
|
|
Нужна схема с номиналами и прошивкой.
|
Сорри не понял?
|
|
|
|
08.12.2011, 22:46
|
#36
|
|
Гражданин KAZUS.RUN
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
|
Re: USART на PIC18
Сообщение от george carpenter
|
|
Vdd и Vpp к +5V. Сброса нет.
|
Вот поэтому и не работает. Нужна схема включения из даташит. Емкости какие и тд.
|
|
|
|
09.12.2011, 00:06
|
#37
|
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
Странно, что-то ничего такого в даташите не вижу. Либо не туда смотрю
|
|
|
|
09.12.2011, 00:48
|
#38
|
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
Возможно это имеется ввиду?
|
|
|
|
09.12.2011, 20:25
|
#39
|
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
И так, особой какой-то схемы включения не понадобилось, так и не понял почему не заводился контроллер, скорее всего из-за плохих контактов на макетке. Сейчас контроллера завелся и сигналы идут на max232, на 14 и 13 ножке проверил тестером уровни вроде идут, только пытаюсь на компьютере получить данные - не выходит. На разъем COM-DB9 распаял 2 и 3й пин, может там еще нужно что-то распаять?
|
|
|
|
10.12.2011, 15:36
|
#40
|
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
Попробовал сделать прием информации на Windows XP, интерфейс ожил, но получаю странные вещи... Если тестером проверить во время цикла
|
PHP код:
|
for (int cyc = 1; cyc‹=3; cyc++)
{
int count = 0;
int val = 155;
srand(cyc);
for (int i = 0; i‹=SIZE; i++)
{
int rd = rand()% 256;
if ( val › rd)
{
//SETBIT(map,i);
USARTWriteString("1");
count++;
}
else
{
//CLEARBIT(map,i);
USARTWriteString("0");
}
}
USARTWriteString(" ");
USARTWriteInt(count,255);
USAR
|
выдается около 8V и в программе не видно чтобы что то приходило на COM, а когда цикл завершается то выдается 2,5V и на COM поступает, то что картинке).
Интересно почему на Windows 7 не работает.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Компилятор С Pic18
|
dosikus |
Микроконтроллеры, АЦП, память и т.д |
5 |
28.08.2010 01:33 |
|
C++ для PIC18
|
alberio |
Микроконтроллеры, АЦП, память и т.д |
5 |
07.07.2010 17:48 |
|
Программирование PIC18
|
genial |
Микроконтроллеры, АЦП, память и т.д |
1 |
03.04.2008 12:43 |
|
pic18.inc
|
EVGENIY1962 |
Микроконтроллеры, АЦП, память и т.д |
4 |
12.06.2007 07:49 |
|
SSE2 на PIC18
|
Гость |
Микроконтроллеры, АЦП, память и т.д |
0 |
05.12.2005 10:18 |
Часовой пояс GMT +4, время: 19:25.
|
|