AT45DB041D 데이터 플래시를 SPI 로 구동할 수 있는 모듈입니다.

MCU 의 구동에 추가적인 메모리가 필요할 때 SPI 기능을 실험할 때

적합한 모듈입니다.

WAT-AVR128 에 바로 연결하여 사용할 수 있습니다.

 

 


 






ATMEGA128 용 소스코드

 

/*

         EX_06_01.c

 

         SPI DataFlash 읽고쓰는예제입니다.

 

  SPI 를초기화한후

  데이터를쓰고읽은후

  쓰고읽은데이터가동일한지확인합니다.

 

         AVRStudio  4.18

         2013-03-08

 

 

*/ 

 

#include <stdio.h>

 

#include <avr/io.h>

#include "WAT128.h"

#include "AT45DB161D.h"

 

 

BYTE Data[256];   // w

BYTE ReadData[256];

 

 

int main()

{

  const BYTE BufferNum =AT45DB_BUFFER_1;

  const BYTE PageNum =4;

 

  DDRA = 0xFF;

  PORTA = 0xFF;

 

  // AT45DB SPI 초기화  

  SpiInit();

  SFlash_GetID();

 

  // 버퍼로한번써줘야한다.(중요)

  PageToBuffer(1,0);

 

  // Data 에임의의값

  for(int i=0;i<256;i++)

  {

    Data[i] = i;

  }

 

  // Data 값을버퍼에넣기

  SFlash_WriteBuffer(BufferNum,0,Data,256);

 

  // 버퍼값을페이지(실제저장할위치)에쓰기

  SFlash_BufferToPage(BufferNum, PageNum, 1);

 

 

  // 읽어올변수(ReadData)에임의의값쓰기

  for(int i=0;i<256;i++)

  {

    ReadData[i] = 0xff;

  }

 

  // 페이지데이터를버퍼로가져오기

  PageToBuffer(BufferNum,PageNum);

 

  // 버퍼데이터를ReadData로가져오기

  GetMemBuffer(ReadData);

 

  //

  for(int i=0;i<256;i++)

  {

    if(ReadData[i] != Data[i] )

    {

      while (1)

      {

        // 쓰고읽은데이터가다르다면

        PORTA = 0x55;

 

      }

    }

  }

 

  // 쓰고읽은데이터가동일하다면

  PORTA = 0xf0;;

  while(1)

  {    

  }

}       

 


Posted by WhiteAT
,

 

하이퍼 터미널

 

하이퍼터미널은 윈도우XP까지 기본적으로 설치되어 왔으며 통신에 많이 사용되던 어플리케이션입니다. 비스타 이후로는 기본적으로 제공되지 않아 필요 시에 별도로 설치해서 사용해야 합니다.

 

 

 

 

 

다운로드

 

아래 링크를 클릭하여 다운로드 한 후 압축을 풀어 바로 사용하면 됩니다.


hyperterminal.zip


 

 

 

 

 

시리얼통신 실험

 

간단한 시리얼통신 포트를 열어 테스트 해보겠습니다. 처음 실행시 전화번호인지 뭔지 쓰라고 상자가 뜨는데, 취소하고 [New]로 새롭게 만듭니다.

 

Name은 알아보기 쉽게 적당한 이름을 써주고, 아이콘을 아무거나 선택해줍니다.

(비스타, 윈7에서는 아이콘은 안보이네요.^^;;)

 

 

 

그러면 또 전화번호 쓰라고 뜨는데 취소합니다.

확인 메시지를 또 보여주는데 그냥 [예]로 처리합니다.

 

 

 

 

한 번 더 확인해줍니다.

 

 

 

 

이제 사용할 포트를 설정해줍니다.

 

 

 

 

 

보레이트와 데이터비트 등 모든 항목을 확인합니다.

간혹 보레이트만 설정하고 넘어가서 문제가 생기는 경우를 종종 봤는데, 흐름제어의 기본값이 [하드웨어]로 되어 있기 때문에 사용하지 않을 경우에는 필히 [없음]으로 해야 합니다.

 

 

 

 

통신이 잘되는 것은 확인하면 끝입니다.

 

 

 

 

'유틸리티' 카테고리의 다른 글

간단한 시리얼 통신 프로그램  (0) 2011.08.16
Posted by WhiteAT
,

 

STM32 Virtual COM Port Driver

다른 칩셋과 마찬가지로 STM32 로 작성된 가상 COM 포트 드라이버를 사용하기 위해서는 별도의 드라이버를 설치해야 합니다.

 

드라이버가 설치되지 않았다면 아래와 같이 드라이버 인식을 실패합니다.

 

 

 

 

함께 제공하는 설치정보파일( iarvircomport.inf)로 설치를 시도해도 제대로 인식하지 못할 수 있습니다.

 

 

 

 

 

 

 

 

 

STM32 Virtual COM Port Driver 설치

 

드라이버 설치파일:






또는 http://www.st.com/internet/mcu/product/164491.jsp 에서 다운 받을 수 있습니다.

 

 

 

 

압축 파일을 풀면 4개의 파일이 있습니다.

(비스타 또는 7 에서는 필히 압축을 푼후 관리자모드로 설치를 해야 합니다.)

 

 

 

  

 

 

 

현재 사용중인 OS에 맞는 드라이버를 설치하면 됩니다.

VCP_V1.3.1_Setup.exe: 32비트용 드라이버

VCP_V1.3.1_Setup_x64.exe: 64비트용 드라이버

 

 

 



 

여기서는 64비트용을 설치해보겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그리고, USB 케이블을 다시 연결해도 자동으로 설치되지는 않는다면 수동으로 설치해야 하는데, 아래처럼 직접 경로를 지정하여 처리할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

경로를 C:\Program Files (x86)\STMicroelectronics\Software\Virtual COM Port Driver 로 지정합니다.

 

 

 

 

해당 파일에 게시자 정보가 없어 경고가 나타날 수 있습니다.

해당 제품을 사용하려면 당연히 설치해야 합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'[STM32] > Tools' 카테고리의 다른 글

ST-LINK V2  (0) 2016.09.08
Posted by WhiteAT
,

 

PC에서 받은 데이터를 CLCD에 출력하는 예제입니다.

 

 

 

<Character LCD 초기화>

 

 

 

 

 

 

< PC로부터 수신된 데이터 출력 >

 

 

 

 

 

< PC프로그램 화면 >

http://avr128.com/35 에 있는 시리얼 통신 프로그램을 사용했습니다.

 

 

 

윈도우에 기본적으로 제공되는 하이퍼터미널 프로그램을 사용해도 됩니다.^^

 

 

 

 

원문은 http://avr128.com 에 있습니다.

 

 

 

 

 

 

 

주요 코드

 

main.c 일부

/*

    EX_09_02.c

 

    PC에서USART0 로받은데이터를LCD에출력

    AVRStudio 4.18

    2011-08-16

 

    http://avr128.com

 

*/

 

#include <avr/io.h>

#include "WAT128.h"

 

int main()

{

    INT16S iRxData;

 

    OpenSCI0(57600);    // USART 0 열기

 

    CLCD_Init();        // LCD 초기화

 

    while(1)

    {

        iRxData=GetByte0();

        if( 0<= iRxData && iRxData<=255 ){

            

            // CLCD 에출력

            CLCD_PutChar(iRxData);

            PutChar0(iRxData); // echo 보내기

        }

    }

}

 

 

 

 

 

 

전체 소스

 


 

Posted by WhiteAT
,

간단하게 시리얼 통신 테스트를 할 수 있는 프로그램입니다.

 

 

 

 

 

 

 

 

 

 

기능

 

자동 COMPORT NAME 검색 기능

다양한 보레이트 설정

사용자 지정 보레이트 설정

최근에 사용한 설정 자동기억/자동 불러오기

키보드로 직접 데이터 전송 가능

파일 전송 기능

수신된 데이터 파일로 저장 가능

컨트롤상자 숨기기/보이기

반복적으로 데이터 보내기

 

 

 

 

다운로드

 

 



'유틸리티' 카테고리의 다른 글

윈도우 XP,윈도우7 에서 하이퍼 터미널 사용  (0) 2012.05.09
Posted by WhiteAT
,