Jump to content

Recommended Posts

8 минут назад, my504 сказал:

Какая разница откуда слать байты, из массива или как константы? 

Я что не так написал?

Share this post


Link to post
Share on other sites

Очень тяжелый случай... 

Разницы нет с точки зрения сложности написания- понимания. А с точки зрения структуры алгоритма разница чудовищная. 

Share this post


Link to post
Share on other sites
43 минуты назад, my504 сказал:

Если софт устройства обслуживает дисплей, то в этом софте есть регенерация экрана из буферного ОЗУ. Очистили буфер и получили чистый экран. 

Отнюдь.

Такой прием невозможно реализовать на большинстве микроконтроллерах AVR из-за крайне малого объема ОЗУ. Даже для крошечного черно-белого дисплея 128х64 потребуется 1 килобайт буфера (100% ОЗУ atmega8 или 25% ОЗУ atmega328), а, например, для цветного дисплея от телефончика Siemens S65 132х176 при 16-битном цвете потребуется уже буфер более 40 килобайт, что принципиально недостижимо для AVR.

Как, по-вашему, тогда может быть реализовано подобное:

Да только единственным способом: поcтоянное обновление участков дисплея, где должно быть изменено содержимое. И для этого необходимо требуется иметь функцию, заполняющую произвольную прямоугольную область одинаковым содержимым. Это единственный приемлемый по соотношению быстродействие/ОЗУ вариант для систем на AVR.

Так что вы не правы...

Edited by ARV
почему-то продублировалось содержимое

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites

Драйверы MOSFET/IGBT Infineon – силой нужно управлять!

Специалисты Infineon усовершенствовали традиционные кремниевые MOSFET и IGBT и выпустили компоненты на базе принципиально иных материалов – нитрида галлия и карбида кремния. Мы создали подборку полезных материалов, чтобы вы разобрались во всех тонкостях и стали экспертом по управлению силовыми приборами нового поколения CoolMOS, CoolGaN, CoolSiC!

Подробнее

1 минуту назад, ARV сказал:

 

Так что вы не правы...

Отнюдь. 

Сие ничего не меняет. Разница только в том, что заполнение будет происходить из флеша. 

Во флеше организуют шаблон исходного экрана. Остальные изменения  формируют как выделенные области с последующей их регенерацией. 

Таким образом, очистка в виде пересылки одной константы так же идет лесом. 

 

Share this post


Link to post
Share on other sites

Снижена цена на DC/DC и AC/DC преобразователи Mornsun в Компэл!

Компэл снизил цены на всю продукцию Mornsun. В ассортименте – как широко известные и популярные позиции, так и новинки. Доступны AC/DC, неизолированные DC/DC-преобразователи или импульсные стабилизаторы (семейство K78/R3), изолированные DC/DC, и новейшее поколение R4.

Подробнее

Только что, my504 сказал:

Сие ничего не меняет. Разница только в том, что заполнение будет происходить из флеша. 

Увы, и тут вы попали пальцем в небо... Никакого флеша AVR не хватит даже на одну статическую картинку на весь экран Simens-а... Да и разница в "пересылке" от "заполнения" абсолютно непринципиальна :) 

И, кстати, просто прикиньте, сколько времени потребуется AVR на пересылку по SPI (в основном CLK = 8 МГц) такого объема буфера... Какое там FPS получится :) 


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites

Новинки гибридных конденсаторов: преимущества технологии

Гибридные конденсаторы унаследовали от полимерных конденсаторов такие достоинства как устойчивость к импульсам тока, повышенную надежность и низкое собственное сопротивление, а также высокую емкость и низкий ток утечки, как у алюминиевых электролитов. Благодаря этому гибридные конденсаторы могут с успехом заменить традиционные алюминиевые конденсаторы.

Подробнее

7 минут назад, ARV сказал:

Никакого флеша AVR не хватит даже на одну статическую картинку на весь экран Simens-а

А тут вы не правы:D. Я прекрасно решил этот момент таким не хитрым алгоритмом.

Из флэш читаем данные и в этот же момент передаем ранее прочитанные данные в дисплей. Нужен всего один байт (+-). Скорость возрасла в 1,5 раза по сравнению с использованием буфера. И я спокойно из флэш могу передать любой объем информации. Cкорость ~1кадр/ 1.5сек  480*320

34 минуты назад, my504 сказал:

Очень тяжелый случай...

И я вам сочувствую, такое впечатление что вы через слово читаете. И посмотрите название темы, спуститесь на нижний уровень,:blink:

Share this post


Link to post
Share on other sites
Только что, Demonrostov сказал:

Из флэш

Мне неизвестны AVR c объемом флеша более 256 килобайт, а картинка на весь экран 480*320 даже при цвете 1 байт (256 оттенков всего) потребует 150 килобайт. Сильно сомневаюсь, что вы вели свои игры с микроконтроллером типа Atmega2560...


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
17 минут назад, ARV сказал:

Увы, и тут вы попали пальцем в небо... Никакого... 

Это Вы не понимаете о чкм тут идет речь... 

Еще раз. 

Зачем чистить экран? 

В принципе, ЗАЧЕМ? 

Экран нужно заполнять из чего угодно и как угодно, но только не пустыми полями. Это какие то функции, что угодно, но не одна и та же константа. 

Share this post


Link to post
Share on other sites
4 минуты назад, ARV сказал:

Atmega2560...

Пардон, из внешней флэш конечно, же. 

3 минуты назад, my504 сказал:

Зачем чистить экран? 

Да это делается то в принципе один раз во время инициализации, в чем проблема то? В двух строчках кода? Человек спросил как это сделать, вы тут уже две страницы напечатали какой вы образованный , но ответа так и не дали...

Edited by Demonrostov

Share this post


Link to post
Share on other sites
Только что, my504 сказал:

но только не пустыми полями

Это зависит от условий. Например, при выводе текста: сначала был текст "123456789", а потом в эту же позицию мы выводим "0" - хвост "строки" логичнее всего и быстрее всего залить одним-единственным "прямоугоьником", а не 8-ю пробелами.

А где есть прямоугольник одного цвета, там есть и заливка всего экрана.

Только что, Demonrostov сказал:

из внешней флэш конечно, же

Я так и догадывался. Но, как мне кажется, практической ценности полуторасекундный вывод картинки на дисплей не имеет.


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
1 минуту назад, ARV сказал:

практической ценности полуторасекундный вывод картинки на дисплей не имеет.

Нет:Dзато гордость за быдлокод есть

Share this post


Link to post
Share on other sites
7 минут назад, ARV сказал:

Это зависит от условий. Например, при выводе текста: сначала был текст "123456789", а потом 

Если речь идет о слабых МК и необходимости значительной частоты обновлений, то это АВТОМАТИЧЕСКИ приводит нас к понижению фактического разрешения экрана. То есть экран будет заполняться либо знакоместами, либо псевдографикой. 

И снова ни разу не константой тотальной очистки. 

Share this post


Link to post
Share on other sites
Только что, my504 сказал:

И снова ни разу не константой тотальной очистки.

Вы спорите с возражениями, которые сами придумываете :) Я сказал, что тотальная очистка ничем от рисования залитого прямоугольника не отличается - если есть функция прямоугольника, то есть и функция очистки. Осмысленность её применения я не рассматриваю, не отрицаю, и не обожествляю.

Моё единственное возражение вам было исключительно в принципе на счет единственно кошерного способа работы через экранный буфер.


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
10 минут назад, my504 сказал:

И снова ни разу не константой тотальной очистки. 

И ни фига вы не правы, хотя уже догадались, что речь идет не о пентиумах.

 

10 минут назад, my504 сказал:

это АВТОМАТИЧЕСКИ приводит нас к понижению фактического разрешения экрана

Вот для этого и надо делать очистку экрана при инициализации, для того чтобы можно было выводить нужные области, не трогая соседних. А если этого не сделать , то там будет мусор!

 

7 минут назад, ARV сказал:

вы спорите с возражениями, которые сами придумываете

:D:ph34r:

Читая тему форума, вызывает чувство большой улыбки с тех товарищей которые, в место того чтобы дать возможный вариант ответа на поставленный вопрос пришедшего сюда начинающего либо опытного специалиста, начинаю разводить полемику и рассказывать всем свое превосходство в знание сие вопроса. Но при этом по какой то причине звездность не позволяет им просто и лаконично дать ответ.

Edited by Demonrostov

Share this post


Link to post
Share on other sites
4 минуты назад, ARV сказал:

 

Моё единственное возражение вам было исключительно в принципе на счет единственно кошерного способа работы через экранный буфер.

Ну тут я опустил саму целесообразность применения экранов с относительно высоким разрешением со слабыми МК. 

Совершенно бессмысленный геморрой в современных условиях. 

Share this post


Link to post
Share on other sites
Только что, my504 сказал:

тут я опустил саму целесообразность применения экранов с относительно высоким разрешением со слабыми МК

Вот что бывает, когда выпадаешь из контекста темы, а высказаться хочется - тут именно о "слабых" МК речь и идет на протяжении последних 100 страниц :)

Edited by ARV

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
2 минуты назад, ARV сказал:

тут именно о "слабых" МК речь

И тема называется "Вопросы От Начинающих По Мк"

5 минут назад, my504 сказал:

Совершенно бессмысленный геморрой в современных условиях. 

Не говорите этого начинающим, иначе они никогда так и не начнут<_<

Share this post


Link to post
Share on other sites
Только что, Demonrostov сказал:

тема называется "Вопросы От Начинающих По Мк"

Ну, объективности ради, из названия не следует обязательность "слабости" МК... Начинать, теоретически, можно и с ARM9 8-ядерного... :)


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
15 минут назад, Demonrostov сказал:

И тема называется "Вопросы От Начинающих По Мк"

Не говорите этого начинающим, иначе они никогда так и не начнут<_<

Начинать с виртуозных выкрутасов как то некошерно для начинающих. Поэтому нужно либо надеть трусы, либо снять крестик. 

Простота не заключаетс в простоте архитектуры МК. Уровень абстракций определяющий оную простоту вообще не зависит от железа. 

Share this post


Link to post
Share on other sites
15 минут назад, ARV сказал:

не следует обязательность "слабости" МК

Не следует, но должно навивать на мысль, что люди сюда вопросы задают, не опытные, да еще и со слабой базой знаний в области информатики (школьный курс). Вон  Дмитрий Мамедиев никак не осилит книгу по СИ.

 

15 минут назад, ARV сказал:

можно и с ARM9 8-ядерного.

Теоретически все можно, но я думаю в том случае если у тебя есть личный учитель-гуру. А в реальности все начинают с мигания светодиодом:)

Share this post


Link to post
Share on other sites

А кто оного Мамедиева обязал лезть в графические дисплеи и причем тут изучение основ и мигание ледами? 

 

Edited by my504

Share this post


Link to post
Share on other sites
21 минуту назад, my504 сказал:

причем тут изучение основ и мигание ледами?

Вы слишком умны чтобы это понятьB)

Share this post


Link to post
Share on other sites

Что я должен понять? 

То, что следующим шагом г-на Мамедиева будут попытки реально использовать купленный дисплей и он тут же столкнется с фейковым характером предложенной ему очистки? 

Может быть я должен понять, что уровень графики оному господину пока не доступен? 

Вы вообще о чем? 

Share this post


Link to post
Share on other sites
В 31.05.2019 в 21:55, Mars36 сказал:

Есть вопросик по OLED ssd1306. Не могу понять как очистить дисплей

 

1 час назад, ARV сказал:

Вот что бывает, когда выпадаешь из контекста темы,

 

2 минуты назад, my504 сказал:

Вы вообще о чем? 

А вы о чем? Перечитайте тему, станет все на свои места.

Share this post


Link to post
Share on other sites

Простые ответы на вопросы чаще всего самые бессмысленные. 

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • вдумайтесь, что пишите! через землю - гигагерц?! Да вы фантазёр! Не везде и 30 герц пролезает....
    • Ну да, только SEPIC из него уже слепили умельцы. Я вот пытаюсь сейчас найти что-либо об инверторе, про который Вы упомянули выше. Возможно сделать на базе бустера? 
    • Все получилось но программатор отработал 10-15 мин. Подключился к оболочке. Попросил обновится. И отключился. Не опознано усб. Повторно "перевтык" определился. Минута и отключился. И с тех пор учб не опознано. Повторная прошивка не проходит верификацию. Видимо МК поврежден. Закажу ещё буду пробовать.  За таблицу спасибо.  Единственное Все получилось но программатор отработал 10-15 мин. Подключился к оболочке. Попросил обновится. И отключился. Не опознано усб. Повторно "перевтык" определился. Минута и отключился. И с тех пор учб не опознано. Повторная прошивка не проходит верификацию. Видимо МК поврежден. Закажу ещё буду пробовать.  За таблицу спасибо.  PBADEN у меня 4:0 а не 5:0  
    • Смотришь, в какой цепи стоит. И с запасом по обр. V, любой быстрый диод. После диода надо цепь проверить.
    • здесь, последовательно с нагрузкой, а нагрузка - отдельный модуль содержащий в своём составе конденсатор по питанию... чтоб не срабатывала триггерная защита БП, которые используют такой тип защиты... лучше применять БП с ограничением по току (или не реагирующие на такого типа перегрузки), тогда резистор не потребуется... так как он увеличивает выходное сопротивление источника...    Вы не поняли мысль которую автор пытается донести - мысль такая, - конденсатор не потребляет энергию, а только накапливает и отдаёт, а в качестве доказательства этого, он предлагает посчитать потреблённую конденсатором энергию, подключив его к источнику переменного синусоидального напряжения.  Вам будет намного легче, если Вы прочитаете о работе конденсатора и катушки индуктивности в учебниках - электротехника, тогда подобного рода ссылки авторов не будут вводить в заблуждение. Micro-Cap - уже бесплатный симулятор
    • +100 отстранить от ремонта на 5 лет ...без права  тпереписки
    • Получаем пусковой ток: 6,3V/ 2,5 Ом = 2,52 А. Но это "цветочки". Посмотрел х-ки тр-ра ТАН28: Далее, смотрим ток накала вашей 6Ф3П : Да у вас элементарно трансформатор не держит. Только обмотка накала 6,3V рассчитана.    Да и пусковой ток превышает допустимый ток для LM317, который составляет 1,5 А. Надо усиливать выходным транзистором. Подобную схему собирал, только на КРЕН8Б. Работает очень хорошо. При токе в 5А, V проседает на 0,3V. Если с эмиттера VT1 убрать 0,1 Ом - будет лучше, его лучше поставить после (+) диодного моста. И я бы на выходе стабилизатора10 кОм поставил, не дело. Эмиттер VT1 в воздухе висит. А С3 можно до 1мкф. увеличить.

  • Модуль камеры OV7670 640x480

  • Similar Content

    • By Александр Шилин
      Помогите, пожалуйста, со схемой подключения ПЗС-линейки к микроконтроллеру. Задача заключается в том, чтобы определить координату падения светового пятна, сформированного линзой, в пределах линейки.
      Модель линейки TCD132D на 1024 пикселя.
      Согласно даташиту необходимо три управляющих частоты - M, CCD, SH, питающее напряжение 12 В и опорное 5 В. Все эти условия были выполнены. Данные считываются.
      Выход данных с линейки пока просто выведен на осциллограф (красный канал). 
      Я плохо понимаю физические основы работы ПЗС-линейки, но ее работа кажется мне очень странной и нелогичной.
      1) При равномерной фоновой засветке при считывании получается равномерное низкое напряжение на всех пикселях. (Рисунок 1).
      2) При закрытии части линейки чем-либо напряжение на закрытых пикселях возрастает (Рисунок 2).
      3) При включении фонарика или лазерной указки все пиксели зашкаливают, определить максимум не удается (Рисунок 3).
      Если поместить линейку в темное место и светить очень тусклым лазером, то общий уровень напряжения на пикселях высокий, а в месте попадания света наблюдается едва заметный минимум. Возможно так и должно быть и нужно просто инвертировать и усилить сигнал?
      В чем может заключаться проблема? Как грамотно снимать выходной сигнал с линейки и заводить его на АЦП МК?
      Даташит приложен снизу.




      tcd132d.pdf
    • By Alan247
      Представляю на ваш суд:    https://thisismyhobby.ru/AVR_PAL_W.php   Ваше мнение?
       

    • By Rad TV
      Скетч простой и кислий. Сделан автором RadTV канал:https://www.youtube.com/channel/UC1k5elIKErFnmwTzIsRgQrA?view_as=subscriber
      Буду рад рокомендациях и помощи!Сделал сам проект должен бить простим и  что би влезло в ATtini85!
      Есть защита акб и просто парения (!!!Кнопка на розмикания!!!)
      Обновления будут!!!!
       
       
      RadMOD ver1.0.txt
    • By Стас73
      Доброй ночи, уважаемые.
      Прошу Вашего совета по следующей куче проблем для меня, т.к. не соображаю в электронике, схемах, резисторах и подобному, но дружу с компом и есть желание сделать определенный механизм, но пока нет наставления на путь истинный от специалистов)
      Задача состоит в следующем - хочу мотор стеклоочистителя подключить к Ардуино, но управлять им необходимо с кнопки. Шилд, например, который обрабатывает сигнал нажатия на кнопку (допустим кнопка записи), при ее активации, нажимаю на другую кнопку, которая дает команду движку вращаться по часовой стрелке. Отпускают ее, моторчик останавливается. Другая кнопка, вращение в противоположную сторону. Т.е. записал последовательность и продолжительность вращений,  нажимаю вновь на кнопку запись и мои действия сохраняются. Далее на 4 кнопку жму и моя игра с моторчиком автоматически воспроизводится. Если такое выполнимо с помощью плат и шилдов без доп программирования логики, то буду ОЧЕНЬ  признателен если расскажете как вкратце это осуществить или кинете ссылки к примеру на Али с нужными товарами. Если легковыполнимо, то в будущем наверное уже разберусь,  как обойтись без нажатия на 4 кнопку (воспроизведения записанных действий) и запускать этот процесс, подключив датчик движения или звука.
      Если необходимо описывать логику или создавать типа какого-то протокола, что шилд (?) умел понимать, что я от него хочу, то подскажите среду разработки для неба, что б там по минимуму было наворотов) В принципе с основами c++ для Ардуино скорее всего придется ознакомиться. 
      Заранее спасибо!
    • By Ilya Gray
      Доброго времени суток!
      В целом, имеется опыт разработки малых устройств, что-то понимаю, в общем, старательно читаю даташиты, даже понимаю их, но на звание серьёзного инженера (пока что) не претендую.
      Я пытаюсь использовать I2C на 8-битном PIC16F18326. Сижу в даташитах. Всё понимаю, всё делаю, на мой неопытный взгляд, правильно. Даже копирую полностью рабочие примеры (я даже купил такой же микроконтроллер, как в примере, скопировал код, контролируя, что он делает. Но всё равно не работает - SCL/SDA на 5в и всё тут).
      Так вот: PIC16F18326 on breadboard (прошу прощения, я хз как это по-русски) на внутреннем 32мгц кристалле. Чип пашет, без проблем моргаю LEDкой. Ну, думаю, щас быстренько подниму I2C. В итоге SCL SDA сидят на 5в без движения. Я использую LED для отладки. Судя по LED, код заloopливается в месте, где проверяется while PIR1bits.SSP1IF==0. Я уже везде был, кучу форумов перерыл. Уже попробовал всё, что мог представить. Я довольно новый в мире PIC, хотел попробовать их, а они ужасно сопротивляются. Уже 2 недели долблюсь безуспешно.
      Подтяжки 10к, проблем с ними никогда не было.
      Собственно, вот код (я уже там попробовал повыключать ADC, вычитал про баг, что сначала I2C пины надо делать OUTPUT LOW, а потом уже INPUT из-за бага MSSP, но ничего не помогло).
      // PIC16F18326 Configuration Bit Settings // 'C' source line config statements // CONFIG1 #pragma config FEXTOSC = OFF // FEXTOSC External Oscillator mode Selection bits (Oscillator not enabled) #pragma config RSTOSC = HFINT32 // Power-up default value for COSC bits (HFINTOSC with 2x PLL (32MHz)) #pragma config CLKOUTEN = OFF // Clock Out Enable bit (CLKOUT function is disabled; I/O or oscillator function on OSC2) #pragma config CSWEN = ON // Clock Switch Enable bit (Writing to NOSC and NDIV is allowed) #pragma config FCMEN = ON // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled) // CONFIG2 #pragma config MCLRE = ON // Master Clear Enable bit (MCLR/VPP pin function is MCLR; Weak pull-up enabled) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config WDTE = OFF // Watchdog Timer Enable bits (WDT disabled; SWDTEN is ignored) #pragma config LPBOREN = OFF // Low-power BOR enable bit (ULPBOR disabled) #pragma config BOREN = ON // Brown-out Reset Enable bits (Brown-out Reset enabled, SBOREN bit ignored) #pragma config BORV = LOW // Brown-out Reset Voltage selection bit (Brown-out voltage (Vbor) set to 2.45V) #pragma config PPS1WAY = ON // PPSLOCK bit One-Way Set Enable bit (The PPSLOCK bit can be cleared and set only once; PPS registers remain locked after one clear/set cycle) #pragma config STVREN = ON // Stack Overflow/Underflow Reset Enable bit (Stack Overflow or Underflow will cause a Reset) #pragma config DEBUG = OFF // Debugger enable bit (Background debugger disabled) // CONFIG3 #pragma config WRT = OFF // User NVM self-write protection bits (Write protection off) #pragma config LVP = ON // Low Voltage Programming Enable bit (Low Voltage programming enabled. MCLR/VPP pin function is MCLR. MCLRE configuration bit is ignored.) // CONFIG4 #pragma config CP = OFF // User NVM Program Memory Code Protection bit (User NVM code protection disabled) #pragma config CPD = OFF // Data NVM Memory Code Protection bit (Data NVM code protection disabled) // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #include <xc.h> #include <htc.h> #include <stdio.h> #include <stdint.h> #define _XTAL_FREQ 32000000 void i2c_is_idle(void){ //while(!PIR1bits.SSP1IF); //while(SSPCON2bits.SEN==1 || SSPCON2bits.RSEN==1 || SSPCON2bits.PEN==1 || SSPCON2bits.RCEN==1 || SSPCON2bits.ACKEN==1 || SSPSTATbits.R_nW==1){}; while(PIR1bits.SSP1IF == 0){ PORTCbits.RC2=1; }; // SSP1IF is set when operation complete PORTCbits.RC2=0; PIR1bits.SSP1IF = 0; // clear interrupt flag } void i2c_start(void){ i2c_is_idle(); SSPCON2bits.SEN = 1; } void i2c_rep_start(void){ i2c_is_idle(); SSPCON2bits.RSEN = 1; } void i2c_stop(void){ i2c_is_idle(); SSPCON2bits.PEN = 1; } void i2c_write(uint8_t i2c_data){ i2c_is_idle(); SSPBUF = i2c_data; while(SSPSTATbits.BF != 0); while(SSPCON2bits.ACKSTAT != 0); } uint8_t i2c_read(uint8_t ack){ uint8_t recieve =0; i2c_is_idle(); SSPCON2bits.RCEN = 1; while(SSPSTATbits.BF != 1); recieve = SSPBUF; SSPCON2bits.ACKEN = ack; return recieve; } void i2c_init(void){ TRISCbits.TRISC0 = 1; TRISCbits.TRISC1 = 1; SSPSTATbits.SMP = 1; SSPSTATbits.CKE = 0; SSPCONbits.SSPM = 0x08; SSPADD = 79; SSPCONbits.SSPEN = 1; } void main(void) { ANSELCbits.ANSC0 = 0; //ADC RC0 OFF ANSELCbits.ANSC1 = 0; //ADC RC1 OFF TRISCbits.TRISC2=0; //LED PIN TRISCbits.TRISC0=0; //MSSP bug counter TRISCbits.TRISC1=0; //MSSP bug counter //__delay_ms(5); LATCbits.LATC1=0; //MSSP bug counter LATCbits.LATC0=0; //MSSP bug counter //__delay_ms(5); INTCONbits.GIE=1; //global interrupt en INTCONbits.PEIE=1; //peripheral interrupt en ADCON0bits.ADON=0; //unpower adc just in case i2c_init(); //THIS SETS TRISC BITS FOR SCL SDA while(1){ i2c_start(); i2c_write(0x3C); i2c_stop(); } return; } Задача: просто увидеть коммуникацию на SCL SDA, я уже потом по даташитам таргет девайсов без проблем напишу дрова. Не получается именно осуществлять коммуникацию.
      Подскажите, пожалуйста, я не понимаю, где я дурак, а между тем волос на голове становится всё меньше, а те, что остались, стремительно приобретают серый окрас, ибо 2 недели я долбаюсь с одной проблемой. Благодарю за ваши советы. Спасибо.
       
×
×
  • Create New...