ULTIMAS ACTUALIDADES
Home / 아트메가 예제

아트메가 예제

다음은 I2C 버스의 드라이버 기능에 대한 설명입니다. 이들은 우선 Atmel 애플 리 케이 션 노트를 사용 하 여 개발 되었다. 나는 그들이 구축 할 수있는 기지로이 작업을 수행 할 수 없었다. 개발은 WinAVR 및 gcc C 컴파일러를 사용하여 수행되었습니다. 각 프로세서에 대해 클럭 속도 제한이 아래에 설명되어 있습니다. 가능한 모든 프로세서 맛 / 클럭 속도 조합을 테스트 할 수 없기 때문에 실제로 테스트하고 제한 사항과 제한 사항을 나타낼 수있는 것에 충실합니다. 드라이버 기능 및 사용 방법은 다음과 같습니다. 자세한 내용은 예제를 살펴보고 전체 프로그램에서 사용 중이면 해당 기능을 확인하십시오. ATtiny2313:Clock 요구 사항:드라이버는 ATtiny2313에 대해 1MHz(기본 속도)의 클럭 속도를 위해 설계되었습니다. 다른 속도로 실행하려면 드라이버에서 상수를 조정해야 합니다.

이 작업을 수행하는 데 도움이 필요하면 저에게 이메일을 보내주십시오. 리소스 Step.USI_TWI_Master_Initialise()의 링크에 있는 Atmel 앱 노트에서 이 함수는 I2C 모드 작업에 대한 USI 하드웨어를 초기화합니다. 프로그램 시작 시 한 번 호출합니다. void를 반환하고 인수가 없습니다. USI_TWI_Get_State_Info()이 함수는 I2C 오류 정보를 반환하며 I2C 트랜잭션 중에 오류가 발생한 경우 사용됩니다. 이 함수는 오류 코드만 반환하므로 TWI_Act_On_Failure_In_Last_Transmission(TWIerrorMsg) 함수를 사용하여 오류 LED를 플래시합니다. 오류 코드는 USI_TWI_Master.h에 정의되어 있습니다. 호출 하는 방법은 다음과 같습니다:TWI_Act_On_Failure_In_Last_Transmission (USI_TWI_Get_State_Info()USI_TWI_Start_Read_Write()이 함수는 I2C 장치에 단일 바이트를 읽고 쓰는 데 사용됩니다. 또한 여러 바이트를 작성하는 데 사용됩니다.

이 함수를 사용하는 단계는 6단계입니다.1)프로그램에서 슬레이브 주소와 전송 또는 수신할 데이터 바이트를 보유하도록 메시지 버퍼를 선언합니다. 서명되지 않은 char 메시지Buf(MESSAGEBUF_SIZE);2)슬레이브 주소를 버퍼의 첫 번째 바이트로 넣습니다. 읽기/쓰기 비트에서 한 비트를 왼쪽으로 이동하고 OR로 이동합니다. 읽기/쓰기 비트는 읽기/쓰기의 경우 1, 쓰기의 경우 0이 됩니다. 이 예제는 읽기용입니다. 메시지부프(0) = (TWI_targetSlaveAddress<<TWI_ADR_BITS) | (TRUE<<TWI_READ_BIT); 3) 쓰기를 수행할 때, 버퍼의 다음 위치에 쓸 바이트를 넣어.4)메시지 버퍼와 메시지 크기를 인수로 USI_TWI_Start_Read_Write 함수를 호출합니다.temp = USI_TWI_Start_Read_Write(메시지부프, 2)반환된 값 ( 이 경우 temp)를 테스트하여 오류가 발생했는지 확인할 수 있습니다. 그렇다면 위에서 설명한 대로 처리됩니다. 프로그램 예제 참조.6)읽기가 요청된 경우 바이트 읽기는 버퍼의 두 번째 위치에 있습니다. 메모리 장치와 같이 여러 바이트를 작성해야 하는 경우 이 동일한 루틴을 사용할 수 있습니다. 버퍼를 설정하고 루틴을 호출하는 것은 약간 다릅니다.

버퍼의 두 번째 바이트는 쓸 시작 메모리 주소가 됩니다.

About onda mix

TAMBIÉN PUEDES VER

리눅스 fork exec 예제

1) waitpid(): pid 인수에 의해 지정된 자식이 종료될 때까지 또는 신호가 전달될 때까지 현재 프로세스의 …