ӭٸ˸ٷվ
ʮƷ ֵ
ȫѯ绰131-1313-0003
ǰλҳ > LEDӦ >

OLEDʾAT91RM9200Ľӿ

³8gled.com˸ʱ2018-11-30
OLEDȫΪOrganic Light-Emitting Diodeлʾָл뵼Ϻͷڵ¶ﵽⲢʵʾļOLED벻ͨƷƽLCD(ȿС1 mm)ȸӽǶȴ(ɴ170)رҪԴĵӦٶȿ(ԼΪLCDٶȵ1 000)ȸɱOLEDܹչʾƵټϺĵΪƶ绰ӵȲƷʾҵ繫Ϊ߷չǰһʾ

1 P13501ʾ

̨缾˾ƳP13501һ12864ĵɫַͼʾҪɫΪΪ12864ICΪSSD1303ԱȶΪ5001ӽΪ160㣻ӿΪ6800ϵвнӿ8λIntel 8080ϵвнӿԼⲿӿڣ¶Ϊ-20+70

2 ʾĿͽṹͼ

OLEDʾP13501Ҫ̨Solomon˾SSD1303ÿOLEDʾ

һͿһOLEDоƬΪ13264OLEŷ;ǰʵǵװýȽϿ㶫ʡһLED·ƾװ30յDͼʾοԱȶȿͼMCUӿģʽ߼ѹΪ2435 Vзḻ֧4ɫѡÿɫ64ԱȶȾ256ƣǶ13264λͼζ̬洢(GDDRAM)ṩremappingremappingֱͲʾʹøʺڲͬسߴɫĶOLEDʾ

SSD1303ڽӿڿƵ·2ʱ·ͨʱ·Ӧ㲻ͬʱҪʱ·öΪBS1BS2ʱ1




Ľṹͼͼ1ʾ



3ʾAT91RM9200Ľӿ

SSD1303Ľӿ뻺ָĴæ״̬ԼʱƵ·иܵĽӿڿƵ·ʱSSD1303ж䵱ǰ״̬OLEDIntel 8080ʱBS1BS2ӸߵƽAT91RM9200ûѡʹͨö˿PBһPB10OLEDѡPB1OΪ͵ƽʱʾOLEDдΪ֣ΪߵƽʱʾдOLEDΪOLED16RESΪλֱӽӵARMĸλ·˴Ϊ˷OLEDĸλһPB11临λOLEDƬѡźUSER1_CSAT91RM9200NCS4ַA25A23A2238ɵַΪ0x52800000OLEDAT91RM9200Ľӿڵ·ͼ2ʾ


4 OLEDı

ϵͳ֮һûӲʹӦóײľ豸޹豸ӦóӲLinux֧3Ӳ豸ַ豸豸豸ǵıдַͬ豸Ϳ豸ļһַ豸Ϳ豸ҪӦóַ豸ÿһIOֱӴݸϵͳں˶Ӧ򣻶ӦóԿ豸IJҪϵͳĻӴݸڴOLEDַ豸

ַͨ豸ṩӦóһ̿ƽӿҪopenclose(release)readwriteioctlpollmmapϵͳһַ豸ʵϾǸӶӦĴַ豸Ϳ豸Linuxں˶ЩͳһijǶڽṹfile_operationsڴַ豸ֻеIJֲͿԺܺõع
ҪOLED豸ֻʵ˲豸ñǻʽfile_operationsṹ

OLED_writeҪʾʾOLEDϣoled_ioctlʵֶOLEDĸֿoled_openOLEDʾoled_releaseرOLEDʾҪoled_writeľʵɸʵҪoled_writeʵʵoled_writeľ



дúҪбLinuxϵͳжһֱ뷽ʽ̬Ͷ̬̬ʱֱӱ뵽ںںʱɲüٶдõP13501Ϊmyoledc侲̬뵽ں˵ľ

ٽmyoledcƵdriverscharĿ¼޸driverscharConfiginļ´
dep_tristate my oled support' CONFIG_MY_OLED

$CONFIG_ARCH_AT91RM9200

京ֻҪCONFIG_ARCH_AT91RM9200Ϊymںʱ("make menuconfig")Character deҷȵصijС˾ս֮˰ǮӵԵҪԵɻvicesͻmy oled supportѡCONFIG_MY_OLEDĶӦΪӵںӦCONFIG_MY_OLEDΪy

driverscharĿ¼µMakefile´

obj-$(CONFIG_MY_OLED)+=myoledo

Makefileobj-mobj-yɶӦĴ

̬ʱ(module)Ȼ̬غж豸صķʽڲϵͳǰصԺ޸ԷЧضдеʵڱдijʼ׶ؼغж޸ԭֱҪΪֹٰ̬뵽ں

̬ʱ

usrlocalarm2953binarm-linux-gcc-O2-DMODULE-D__KERNEL__-Ihomesumlinux-2419include-c myoledc

轻·Ϊusrlocalں˵Ĵ·Ϊhomesumlinux-2419ʱûдôɺͻmyoledoļ俽ǶʽϵͳһĿ¼(home)ͿԶж̬

insmod myoledo

豸

mknoddevfftoled c 254 O

P13501ͱ̬صںӦóҲͿOLEDϽʾ

жʱ

rmmod myoled

жɶOLEDĵ

6

ĽOLEDʾP13501AT91RM9200Ľӿڵ·ԼǶʽLinuxOLEDıдͼõ·ѳɹӦһϵͳϵͳʾЧãϼ򵥵ľɨʽԽزLinuxڶصԼOLEDʾڶǵĽѵҵķ潫йӦǰ

һƪСOLEDʾ֮Ӧ һƪOLEDʾ