АТMega16 PORTC проблема

Сталкивался кто нибудь с такой проблемой:
Тумблера на порту С управляют портом В один к одному, т.е типа PORTB=PINC. Но выводы порта С работают не все (На PINC.2.3.5 всегда 0, а на PINC.4 1,56в). Прогу переписывал во всех ракомсах. Думал что с платой накосячил. Сделал плату специально для проверки портов. Думал с процем что то. Взял другой проц в другом месте. То же самое.
Итого: в порту С пины 2,3,5 всегда 0, а пин 4 всегда 1,56в. Порт С ставил и входом, и выходом. Остальные порты в порядке. В проге ниже порт С - выход на светодиоды через балласт 330ом, порт А - вход, подтянутый к +5в с тумблерами на входе, подключенными на землю.

  1. *****************************************************
  2. Chip type : ATmega16
  3. Program type : Application
  4. AVR Core Clock frequency: 1,000000 MHz
  5. Memory model : Small
  6. External RAM size : 0
  7. Data Stack size : 256
  8. *****************************************************/
  9.  
  10. #include <mega16.h>
  11. unsigned char x;
  12.  
  13. void main(void)
  14. {
  15. // Input/Output Ports initialization
  16. // Port A initialization
  17. // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
  18. // State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P
  19. PORTA=0xFF;
  20. DDRA=0x00;
  21.  
  22. // Port B initialization
  23. // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
  24. // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
  25. PORTB=0x00;
  26. DDRB=0xFF;
  27.  
  28. // Port C initialization
  29. // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
  30. // State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
  31. PORTC=0xFF;
  32. DDRC=0xFF;
  33.  
  34. // Port D initialization
  35. // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
  36. // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
  37. PORTD=0x00;
  38. DDRD=0x00;
  39.  
  40. while (1)
  41. {
  42. x=~(PINA);
  43. PORTC=x;
  44. }
  45. }

Прога в CodeVision 2.05 вылеченной. ATMega16A-PU серии разные.
Это проц виноват или мои кривые руки?

подсказали мне - отключил JTAG в фузах и сразу стало как надо.
Вопрос снят. Может кому то будет тоже полезно.

решил проблему?

решил проблему?

Была похожая проблема, вышло

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

Попробуй прошить под работу от внешнего генератора фьюзы будут следующими в Uniprof,
отмечены галкой в среднем столбике следующие регистры:
cksel0
cksel1
cksel2
cksel3