привет друзья, извиняюсь если не туда открыл тему. проблема такая. в codevison на строке PORTG.1 = 1; выдаёт ошибку left side of '.' requires struct/union. если вместо этой строки пишу PORTG = 2; то компилируется. в чём ошибка ?
Project : Version : Date : 14.10.2010 Author : F4CG Company : F4CG Comments:
Chip type : ATmega64 Program type : Application Clock frequency : 8,000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 1024 *****************************************************/
#include <mega64.h>
// Declare your global variables here
void main(void) { // Declare your local variables here
// Timer/Counter 3 initialization // Clock source: System Clock // Clock value: Timer 3 Stopped // Mode: Normal top=FFFFh // Noise Canceler: Off // Input Capture on Falling Edge // OC3A output: Discon. // OC3B output: Discon. // OC3C output: Discon. // Timer 3 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off // Compare C Match Interrupt: Off TCCR3A=0x00; TCCR3B=0x00; TCNT3H=0x00; TCNT3L=0x00; ICR3H=0x00; ICR3L=0x00; OCR3AH=0x00; OCR3AL=0x00; OCR3BH=0x00; OCR3BL=0x00; OCR3CH=0x00; OCR3CL=0x00;
// External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off // INT3: Off // INT4: Off // INT5: Off // INT6: Off // INT7: Off EICRA=0x00; EICRB=0x00; EIMSK=0x00;
PORTG адресуется как ячейка памяти, поэтому к нему нельзя применять команды установки и сброса отдельного бита (CBI, SBI) попробуй так и все будет пучком вместо PORTG.1 = 1 напиши PORTG |= 0x02 вместо PORTG.1 = 0 напиши PORTG &= ~0x02
ну так чтобы сам... берешь Виндовый калькулятор и переводишь двоичный код (00000100) в шестнадцатиричный (0х04) этими командами можно одновременно устанавливать и сбрасывать несколько битов))
edisson писал(а):а как сделать если PORTG.1 хочу записать второй или кокойнибуть енный быт кокойнибуть переменной ?
ПОРТ |= (1 << БИТ); // сделать "1"
ПОРТ &= ~(1 << БИТ); // сделать "0"
PORTG |=(1<<PG1);
Конструкции и макросы для управления отдельными битами в различных компиляторах собраны в задаче упражнении 1 курса Обучалка по AVR - http://www.proavr.narod.ru/z1.htm