Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Re: Програмирование pic на СИ.

Сб окт 30, 2021 12:12:09

Переключение светодиодов PIC18F25K80
Закоментируйте строки, а то Гугл не находит
Что эта программа делает ?
Вложения
PIC18F25K80_HEX.GIF
(26.03 KiB) Скачиваний: 140

Re: Програмирование pic на СИ.

Сб дек 04, 2021 14:07:26

Как правильно продублировать сигнал на RB0 с RC6 ?
Код:
void main(void)
{
   { 
      PORTBbits.RB0 = !PORTCbits.RC6;
      PORTCbits.RC7 = !PORTCbits.RC1;
   }
     
}

K-Line_1.GIF
(36.77 KiB) Скачиваний: 142

Re: Програмирование pic на СИ.

Вс дек 05, 2021 02:31:34

cxem,
1. согласно изображенной схеме светодиоды никогда не загораются :), поверните их электроды
2. пересчитайте делитель напряжения на входе RA0, U не более Vdd

Re: Програмирование pic на СИ.

Вс дек 05, 2021 18:18:56

в Протеусе сигнал показал минимальные погрешности:

Код:
while( 1 )                                    //  зацикливание функции
{
if(PORTCbits.RC7 == 0)             //  если на RC7 равно 0
PORTBbits.RB0 = 1;                  //  установить на RB0   1
else                                          //  иначе
PORTBbits.RB0 = 0;               //  установить на RB0   0
if(PORTCbits.RC1 == 0)        //  если на RC1 равно 0
PORTCbits.RC6 = 0;            //  установить на RB6  0
else                                         //  иначе
PORTCbits.RC6 = 1;        //  установить на RB6  1
}

Протеус.png
(6.77 KiB) Скачиваний: 91

Re: Програмирование pic на СИ.

Ср янв 12, 2022 21:59:56

натолкните на мысль - можно ли на pic10f202 реализовать сигнал на пассивный зуммер 2000гц пин (G0) с одновременным отслеживанием замыканий на пин(G3). Можно переиграть пины.

Re: Програмирование pic на СИ.

Ср янв 12, 2022 22:13:02

натолкните на мысль

Можно, конечно. Только что будет результатом "отслеживания"?

Re: Програмирование pic на СИ.

Ср янв 12, 2022 23:25:32

натолкните на мысль

Можно, конечно. Только что будет результатом "отслеживания"?

сон!
при замыкании на землю пинаG3 на землю -сон

Re: Програмирование pic на СИ.

Чт янв 13, 2022 00:44:43

А будить как?

Re: Програмирование pic на СИ.

Чт янв 13, 2022 00:51:55

Вопрос с пробуждением решен - будильником или палкой по голове :))
остался вопрос только с зумером и отслеживанием пина в это же время (активный зуммер не предлагайте )

Re: Програмирование pic на СИ.

Чт янв 13, 2022 01:49:55

oleg_g писал(а):остался вопрос только с зумером и отслеживанием пина в это же время
Вам же ответили :
Можно, конечно.

Re: Програмирование pic на СИ.

Чт янв 13, 2022 03:47:43

сон!
при замыкании на землю пина G3 на землю -сон

GPIO3 - это MCLR, поэтому его не надо отслеживать. Ноль на нем уведет МК в ресет и будет там удерживать. Это идентично сну по потреблению.
Таким образом, нужно только дергать ногой пьез.
Ну и чтобы пьез звучал громче и для упрощения схемотехники, нужно оный пьез включить между двух GPIO и дергать их противофазно.

Re: Програмирование pic на СИ.

Чт янв 13, 2022 11:43:46

сон!
при замыкании на землю пина G3 на землю -сон

GPIO3 - это MCLR, поэтому его не надо отслеживать. Ноль на нем уведет МК в ресет и будет там удерживать. Это идентично сну по потреблению.
Таким образом, нужно только дергать ногой пьез.
Ну и чтобы пьез звучал громче и для упрощения схемотехники, нужно оный пьез включить между двух GPIO и дергать их противофазно.

спасибо , попробую.

Добавлено after 1 hour 25 minutes 19 seconds:
еще вопрос - позволяет ли микроконтроллер реализовать такое типа
tone on
.......
выполнение других операций во время пищания
....
tone off
если да , то как?

Re: Програмирование pic на СИ.

Чт янв 13, 2022 11:54:15

Зачем? Кто будет это on/off реализовывать? Есть еще какие то точки управления?
Я так и не понял общий список задач.

Re: Програмирование pic на СИ.

Чт янв 13, 2022 15:51:11

В выбранном микроконтроллере есть один таймер (TMR0) без прерывания по переполнению.
Возможности генерации сигнала (в сл: 2 kHz) либо прямое управление пинах и удержание/пауза, либо RTOS (что в данном случае: одно и то же). Некоторые простые операции/действия типа проверки кнопок и т.д. можно выполнить (чуть "притормозит" -> снизит частоту), а посложнее - образно ожидаются нестыковки генерации и др.

Задача рядом с кнопкой выполнима: кнопка с включением/выключением генерации, без сна (для теста, пока алг. такой). См. симуляция ниже: PIC10F202, ROM used: 70/512 (14%), RAM used: 8/24 (33%). В памяти есть еще много места, и это на "языке высокого уровня".

Дайте подробный пример того, что вы подразумеваете под: "выполнение других операций во время пищания". По крайней мере, опишите, что это за устройство, что будет делать пользователь и что от микроконтролера ожидаете. Вообще без подробного задания, правильно не ответишь.
(частично пользуюсь переводчиком БГ-РУ).
Вложения
10f202_2_khz.jpg
(195.31 KiB) Скачиваний: 74

Re: Програмирование pic на СИ.

Чт янв 13, 2022 16:16:58

ТС желает локально изменить УЖЕ ИМЕЮЩИЙСЯ КОД, чтобы вставить озвученную тут задачу. Проблема в том, что имеющийся код работает на блокирующих задержках.
Учитывая, что эта архитектура не имеет прерываний и аппаратного выхода таймера, никакая простая модификация кода работать не будет. Нужно писать код заново. Все это я ему объяснил в личке.
ТС решил взять паузу на подумать и решить что с этим делать.
Надеюсь, что ТС не обидится за озвученное мной...

Re: Програмирование pic на СИ.

Сб янв 15, 2022 17:44:22

байт получил через UART, а как его вытолкнуть через ножку 21 (RB0) ?
Код:
#define KLINE_OUT LATBbits.LATB0
void gets1USART()
  {
    while(!DataRdy1USART());                // ждать, пока данные будут получены
   char byte_outKline = Read1USART();      // присвойть содержимое регистра  USART в однобайтовую переменную  byte_outKline
                                           // вытолкнуть биты на ножку 21 (RB0)
  }
Вложения
K-Line_UART.GIF
(7.92 KiB) Скачиваний: 80

Re: Програмирование pic на СИ.

Вс янв 16, 2022 19:10:59

А почему просто не соединить эти две ножки, или ты меняешь скорость?

Re: Програмирование pic на СИ.

Вс янв 16, 2022 22:38:22

17 и 18 ножки - это UART
21 ножка - вЫход K-Line
12 ножка - вход K-Line
какие тут ножки замкнуть?

пока только такой код на шёл, но на 21 ножке выскакивают одиночные импульсы не похожие на биты, что я посылаю на 18 ножку
Код:
int i;                        // переменная i
    for(i=0;i<7;i++)             // увеличить переменную i на 1
  {
     while(!DataRdy1USART());                // ждать, пока данные будут получены
    char byte_outKline = Read1USART();      // присвойть содержимое регистра  USART в однобайтовую переменную  byte_outKline
    KLINE_OUT = (byte_outKline  << i) & 1 ;       // вытолкнуть биты на ножку 21 (RB0)
  }

Re: Програмирование pic на СИ.

Вс янв 16, 2022 23:38:31

У вас в коде чепуха написана.
Трудно понять, что вы пытаетесь куда-то там послать, что получаете на ноге, и что значит "вытолкнуть биты".
Вы бы хоть описали подробнее задачу, что делаете, что пытаетесь получить, что конкретно в вашем результате не нравится и почему, и т.д... Какими-то отрывками разговариваете, как старый дедушка, бормочащий себе что-то под нос ...

Re: Програмирование pic на СИ.

Чт янв 20, 2022 11:54:56

отправляю байт 0b01010101 на 21-ножку
хочу увидеть в терминале, что нибудь из этого: 85 125 0x55 01010101 U
как это сделать?
Вложения
0b01010101.png
(27.86 KiB) Скачиваний: 66
Ответить