Программный SPI для PIC
Re: Программный SPI для PIC
Hispanus Если еще актуально. Набросайте схему .
Выложу код на CCS .
Да не лишнем будет рассекретить радио_модуль.
Выложу код на CCS .
Да не лишнем будет рассекретить радио_модуль.
- Реклама
Re: Программный SPI для PIC
О радиомодуле с удовольствием..это один из самых дешевых, называется TR24A, стоит всего 100 рублей штука, интерфейс как писал выше - SPI, работает на 2.4ГГЦ при дальности до 100 метров..
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: Программный SPI для PIC
Схема подключения как и у обычного слейва, только инициализация сложная 
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: Программный SPI для PIC
Hispanus Если время ждет , завтра накидаю под 628 и выложу .
Но только код для осознания , с модулем не работал . Да и был бы он под рукой.
Далее чем собираетесь вести отладку ? Необходим хотя бы осциллограф , лучше логический анализатор .
Но только код для осознания , с модулем не работал . Да и был бы он под рукой.
Далее чем собираетесь вести отладку ? Необходим хотя бы осциллограф , лучше логический анализатор .
Re: Программный SPI для PIC
Лапки пика какие хотите - минимум 3 . Если модуль критичен к /CS тогда 4.Hispanus писал(а):Схема подключения как и у обычного слейва, только инициализация сложная
- Реклама
Re: Программный SPI для PIC
Времени полно, подожду
Ножек, да всего три. А тестить наверное в протеусе буду сначала, потом если заработает, возьму у кого нибудь осцилограф...Очень Вам признателен 
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: Программный SPI для PIC
Без проблем , Протеус 7.8 SP 2 . Компилятор CCS 4.120.Hispanus писал(а): А тестить наверное в протеусе буду сначала, потом если заработает, возьму у кого нибудь осцилограф...Очень Вам признателен
Кварц- МГц?
PORTB ?
Re: Программный SPI для PIC
Кварц 4 МГЦ внутренний, можно порт В 
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: Программный SPI для PIC
Чем глубже я погружаюсь в код от Слесарь, тем больше мне кажется, что я ничего не понимаю в этой жизни 
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: Программный SPI для PIC
Это понятно. Надо быть слесарем, чтоб понять представленный код
Re: Программный SPI для PIC
Пример готов. Передача работает , а вот прием в протеусе пока не знаю как проверить . Чтобы без извращений и понятно было...Hispanus писал(а):Чем глубже я погружаюсь в код от Слесарь, тем больше мне кажется, что я ничего не понимаю в этой жизни
Re: Программный SPI для PIC
Дайте хоть на передачу посмотреть, а то я сегодня себе уже всю голову сломал 
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: Программный SPI для PIC
Надо же, совсем не страшно
Вот только немного смущает вот эта ветка:
Расшифруйте пожалуйста строчку spi_buffer&0x80. Это по моему из битовых операций: значение буфера (10000110) битово умножается на 10000000 и если это истина (1), выполняется оператор условия - SDA=High; Я так понимаю в этом и заключается вся передача 
Код: Выделить всё
if(spi_buffer&0x80)
SDA=High;
else
SDA=Low;
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: Программный SPI для PIC
К буферу применяем побитовое AND с маской , то есть выделяем седьмой бит .
Если он 1 то и вывод SDA 1 , и наоборот .
Проще говоря мы копируем последовательно все биты с буфера в вывод .
Вариация без маски - сдвигаем буфер через CARRY ( флаг переноса ) так же копируем анализируя.
Если он 1 то и вывод SDA 1 , и наоборот .
Проще говоря мы копируем последовательно все биты с буфера в вывод .
Вариация без маски - сдвигаем буфер через CARRY ( флаг переноса ) так же копируем анализируя.
Re: Программный SPI для PIC
Ну я так и понял, Спасибо 
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: Программный SPI для PIC
Код: Выделить всё
#asm
nop
nop
#endasm
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: Программный SPI для PIC
Собственно не хотел без комментариев выкладывать ...Hispanus писал(а):Нельзя заменить на временные задержки...это же пустые операторы вроде?Код: Выделить всё
#asm nop nop #endasm
Это и есть задержка - даже NOP имеет время исполнения .
Это скорей защитный интервал , он может здесь и не нужен. Однако ЧМЗ в 16х еще не отменили.
Re: Программный SPI для PIC
Да нет, впринципе понятно, просто и красиво..как раз то что надо
Теперь можно начать мучить радиомодуль 
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: Программный SPI для PIC
Один нюанс - фузы сами выставите ? Забыл прописать ...


