TA的每日心情 | 擦汗 2015-3-6 13:14 |
---|
签到天数: 6 天 连续签到: 1 天 [LV.2]偶尔看看I
|
OLED就先玩这么多吧,视频效果蛮流畅的,先上代码,后附视频
- #include <wiringPi.h>
- #include <wiringPiSPI.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdint.h>
- #include <string.h>
- #include <time.h>
- unsigned char initcode[] = {
- 0xAE, 0xA8, 0x3F, 0xD3, 0x00, 0x40, 0xA1, 0xC8,
- 0xA6, 0xD5, 0x80, 0xDA, 0x12, 0x81, 0x00, 0xB0,
- 0xA4, 0xDB, 0x40, 0x20, 0x00, 0x00, 0x10, 0x8D,
- 0x14, 0x2E, 0xA6, 0xAF
- };
- unsigned char poscode[] = {
- 0x20, 0x00, 0xB0, 0x00, 0x10
- };
- #define BUFFER_SIZE 1024
- unsigned char buffer[BUFFER_SIZE];
- void oled_begin();
- void oled_test();
- int main(void)
- {
- time_t now;
- struct tm *timenow;
- wiringPiSetup();
- oled_begin();
- time(&now);
- timenow = localtime(&now);
- printf("Start time is %s/n",asctime(timenow));
- oled_test();
- time(&now);
- timenow = localtime(&now);
- printf("End time is %s/n",asctime(timenow));
- return 0;
- }
- void oled_begin()
- {
- pinMode (5, OUTPUT) ;
- pinMode (6, OUTPUT) ;
- wiringPiSPISetup(0, 32*1000*1000);
- digitalWrite(6, LOW) ;
- delay(50);
- digitalWrite(6, HIGH) ;
- digitalWrite(5, LOW);
- wiringPiSPIDataRW(0, initcode, 28);
- }
- void oled_test()
- {
- int r;
- FILE *fphzk;
- digitalWrite(5, LOW);
- wiringPiSPIDataRW(0, poscode, 5);
- fphzk=fopen("apple.dat","rb");
- r=fread(buffer,1,BUFFER_SIZE,fphzk);
- while(r>0)
- {
- digitalWrite(5, HIGH);
- wiringPiSPIDataRW(0, buffer, 1024);
- r=fread(buffer,1,BUFFER_SIZE,fphzk);
- delay(66);
- }
- fclose(fphzk);
- }
大家都玩起来吧
完整代码包:
http://u.163.com/VXH0Ez7o 提取码: b5P5jSAV
|
|