컨트롤러"은

P

pratish86

Guest
전 C 언어 가능성의 FAT16 (파일 시스템의 프로그램), MMC 카드 (최대 512 MB) 좀 도와 1 pls cygnal 8051 f040 ... CN 북동 사용됩니다 thr .. 네브라스카과 같은 코드를 쉽게 구할 필요 한가?

 
FAT16/32 파일 시스템 드라이버소스 파일
http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/fat_8c.html
헤더 파일
http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/fat_8h.html

그것 AVR,하지만 수있는 포트 8051 쉽게 작성된 것입니다

 
안녕하세요 고맙습니다 ...하지만 bfore하세요 THT 내가 thnk 필요 근래 생각으로 U SM는 링크를 줄 수 mmc를 사용하여 SPI 인터페이스를 프로그래밍에 대한 n 게요 mmc를 읽고 데이터를 작성하기위한 샘플 프로그램을 포기 whch?

 
멀티미디어 카드 Pinout

http://www.interfacebus.com/Multi_Media_Card_Pinout_MMC.html휴대용 MP3 플레이어

http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2000/peterdan/final.htm

 
헤이 pls 체크 표시 프로그램을 내가 만약 문자열이 .. 난 cygnal IDE가 소프트웨어를 사용하여 전송하는 봤어요 .. 역시 그냥 1 숯불 .. WHT 전송이 제대로되지 wrking .. 발견./ /를 사용 SPI_Transfer 기능을 보낼 정보가 나타납니다SPI는 P는 / / [플러그인을 통해.
마찬가지로 정보가 전송되면 진행/ / 프로그램이 킷에는 UART를 통해 발송됩니다 모니터링할 수있습니다.

//------------------------------------------------ -----------------------------/ / 포함//------------------------------------------------ -----------------------------
# 포함 <c8051f040.h> / / SFR 선언# 포함 <stdio.h> / / 표준 I / O

sbit MOSI = P0 ^ 0; / / 마스터 없음 / 슬레이브 (출력)에서sbit MISO = P0 ^ 1; / / 마스터 / 슬레이브 출력 (입력)sbit SCK = P0 ^ 2; / / 시리얼 클록 (출력)sbit이 NSS = P0 ^ 3; / / 슬레이브 선택 (칩 출력을 선택합니다)

//------------------------------------------------ -----------------------------/ / 16 비트 SFR 정의//------------------------------------------------ -----------------------------
sfr16 DP는 = 0x82; / / 데이터 포인터sfr16 TMR2RL = 0xca; / / Timer2 값을 장전sfr16 TMR2 = 0xcc; / / Timer2 카운터sfr16 PCA0CP1 = 0xe9; / / PCA0 모듈 1 캡처 / 비교sfr16 PCA0CP2 = 0xeb; / / PCA0 모듈 2 캡처 / 비교sfr16 PCA0 = 0xf9; / / PCA0 카운터sfr16 PCA0CP0 = 0xfb; / / PCA0 모듈 0 캡처 / 비교
//------------------------------------------------ -----------------------------/ / 전역 상수//------------------------------------------------ -----------------------------
SYSCLK 24500000 Hz에서에서 / / SYSCLK 주파수를 정의 #bps의에서 킷에는 UART의 / / 전송 속도 전송 속도를 정의 # 115200
//------------------------------------------------ -----------------------------/ / 함수 프로토 타입//------------------------------------------------ -----------------------------
무효 PORT_Init (무효); / / 포트 I / O 구성무효 SYSCLK_Init (무효); / / SYSCLK 초기화무효 UART0_Init (무효); / / UART0 초기화
통근 숯불 SPI_Transfer (숯불); / / SPI를 전송 루틴
숯불 SPI_Transfer (숯불 SPI_byte)(서명 숯불 SPI_count; SPI는 거래 / / 카운터
(SPI_count = 8; SPI_count "0; SPI_count -) / / 단일 바이트 SPI는 루프(MOSI = SPI_byte &은 0x80; / / MOSI에 현재 나가는 조금 넣어SPI_byte = SPI_byte ""1; / / MSB는 다음으로 비트 이동
SCK = 0x01; / / 높은 SCK 설정
SPI_byte | = MISO; / / MISO의 현재 비트 캡처
SCK = 0x00; / / SCK 낮게 설정)
반환 (SPI_byte);
) / / 끝 SPI_Transfer
//------------------------------------------------ -----------------------------/ / 전역 변수//------------------------------------------------ -----------------------------

//------------------------------------------------ -----------------------------/ / 메인 루틴//------------------------------------------------ -----------------------------
메인 (무효) 무효 (
서명 숯불 test_counter, SPI_return; / / 루틴이 SPI를 테스트하는 데 사용
/ / 사용 워치독 타이머PCA0MD & = ~ 0x40; / / = 0 (취소 워치독 타이머 WDTE/ /)을 사용
SYSCLK_Init (); / / 오실레이터 초기화PORT_Init (); / / 포트 초기화 가능 GPIOUART0_Init (); / / UART0 초기화EA 코리아 = 1; / / 글로벌 인터럽트 활성화
(1) 동안((test_counter에 대한 = 0; test_counter "= 0xFF; test_counter )(
이 NSS = 0x00; / / 선택 SPI를 슬레이브 장치
SPI_return = SPI_Transfer (test_counter); / / 보낼 / SPI를 바이트로 나타납니다
이 NSS = 0x01; / / 드 - 선택 SPI를 슬레이브 장치
출력 printf ( "\ 고대 = 0x로 % 02X, SPI는 있음 = 0x로 % 02X", (서명) test_counter,(서명) SPI_return);/ / 킷에는 UART 빠져 SPI는 데이터를 전송확인 목적 / /에)))
//------------------------------------------------ -----------------------------/ / 초기화 서브루틴//------------------------------------------------ -----------------------------
//------------------------------------------------ -----------------------------/ / PORT_Init//------------------------------------------------ -----------------------------/ // / 구성 크로스바 가능 GPIO 포트가있습니다./ / P0.0 - 킷에는 UART, 텍사스 (푸시풀)/ / P0.1 - 킷에는 UART RX/ / P0.2 - MOSI (푸시풀)/ / P0.3 - MISO/ / P0.4 - SCK (푸시풀)/ / P0.5 -이 NSS (푸시풀)/ / P0.6 -/ / P0.7 -/ /무효 PORT_Init (무효)(XBR0 = 0x0F; / / XBAR에서 SPI를 건너 핀XBR1 = 0x03; / / UART0 텍사스와 RX 핀을 사용XBR2 = 0x40; / / 크로스바 약한 풀다운 활성화 팝업P0MDOUT | = 0x1D; / / TX0, MOSI, SCK를 활성화하고이 NSS로/ / 푸쉬 - 출력 당겨)
//------------------------------------------------ -----------------------------/ / SYSCLK_Init//------------------------------------------------ -----------------------------/ // /이 루틴 내부 24.5 MHz의 클럭을 사용하려면 시스템 클럭 초기화/ / 자사의 클럭 소스로서./ /무효 SYSCLK_Init (무효)(
OSCICN = 0x07; SYSCLK로 / / 선택 내부 오실레이터/ / 소스)
//------------------------------------------------ -----------------------------/ / UART0_Init//------------------------------------------------ -----------------------------/ // / UART0 Timer1 구성을 사용하여, <BAUDRATE>과 8는 - N - 1./ /무효 UART0_Init (무효)(SCON0 = 0x10; / / SCON0 : 8 비트 가변 비트 전송률/ / 스톱 비트의 수준을 무시합니다/ / 사용함 Rx/ / 9 비트 0을 수있습니다/ / 취소 RI0 및 TI0 비트(SYSCLK/BAUDRATE/2/256 "1)(TH1 = - (SYSCLK/BAUDRATE/2);CKCON & = ~ 0x13;CKCON | = 0x10; / / T1M = 1; SCA1 : 0 = xx는)다른 경우 (SYSCLK/BAUDRATE/2/256 "4)(TH1 = - (SYSCLK/BAUDRATE/2/4);CKCON & = ~ 0x13;CKCON | = 0x01; / / T1M = 0; SCA1 : 0 = 01)다른 경우 (SYSCLK/BAUDRATE/2/256 "12)(TH1 = - (SYSCLK/BAUDRATE/2/12);CKCON & = ~ 0x13; / / T1M = 0; SCA1 : 0 = 00)그 밖의(TH1 = - (SYSCLK/BAUDRATE/2/4<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="차가운" border="0" />;CKCON & = ~ 0x13;CKCON | = 0x02; / / T1M = 0; SCA1 : 0 = 10)
TL1 = 0xff; / / Timer1 overflow를 즉시 설정TMOD | = 0x20; / / TMOD : 8 타이머 1 비트 자동 리로드TMOD & = ~ 0xD0; / / 모드TR1 = 1; / / 스타트 Timer1TI0 = 1; / / 준비 표시 TX0)
 
pratish86 썼습니다 :

전 C 언어 가능성의 FAT16 (파일 시스템의 프로그램), MMC 카드 (최대 512 MB) 좀 도와 1 pls cygnal 8051 f040 ... CN 북동 사용됩니다 thr .. 네브라스카과 같은 코드를 쉽게 구할 필요 한가?
 

Welcome to EDABoard.com

Sponsor

Back
Top