Спасибо WELKOME61, чё-то и вправду затупил!
Вот вычитал документик - Справочник по среднему семейству Микрочипа
http://ww1.microchip.com/downloads/e...Doc/33023a.pdf, правда выпуска 1997г. Там сказано:
Question 2: What timers can I use with the PWM mode?
Answer 2:
The PWM mode is designed around Timer2, so no other timer can be used for this function. (It
is the only timer with a period register associated with it.) If multiple CCP modules (in parts with
more than one) are doing PWM they will share the same timer, meaning they will have the same
PWM period and frequency.
Ну типа продвинутый эмбеддер спрашивает: Какой таймер я могу использовать для реализации ШИМ в модуле ССР?
Ему отвечает служба тех. поддержки: Братан - ты можешь запустить любой ССР в режиме ШИМ, только в его основе должен быть TMR2, т.к. это единственный таймер, имеющий регистр периода.
Вот так! Но мож времена поменялись, или я даташит 18F46k22 ещё не скурил?
И есть другая альтернатива TMR2? Если ошибаюсь - не бейте ногами!
Доброго времени форумчане!
опять вынужден обращаться к Вам. Кто юзал в CCS определение #use spi.
Целый день потратил, а результат "0". Наверное что-то не так. Хочу отослать ведомому устройству некоторое число и всё.... Но в буфер для передачи оно заносится, а на выходе ничего нет..
Исходный код:
#include ‹18F46K22.h›
#include ‹stdio.h›
#FUSES NOWDT //No Watch Dog Timer
#FUSES NOPUT //No Power Up Timer
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage
#FUSES NOCPD //No EE protection
#FUSES NOPROTECT //Code not protected from reading
#use delay( crystal=20mhz )
#use spi (MASTER, CLK=PIN_C3, DI=PIN_C5, DO=PIN_C4, MODE=1, BITS=8, STREAM=SPI_1)
#define FQ_UD PIN_C4 //отсюда надо вывести число
void main()
{
unsigned char i; // счётчик цикла
while(TRUE)
{
/*************отправка управляющего слова*************/
output_low (FQ_UD);
output_high (FQ_UD);
for (i=0; i‹5; i++)
{
spi_write (100); // вывести 5 раз просто это число
}
output_low (FQ_UD);
output_high (FQ_UD);
}
}