올해도 앰뷸런스는 안타고 완주하길 기원이나 해야지 ㅠㅠ


서울 자전거대행진 사무국입니다.


참가접수 기간 : 2018년 4월 30일(월) 오전 10시부터 총 5,000명 선착순 마감



참가비 : 자전거 퍼레이드 - 1만원 



참가자격 : 10세 이상(2009년 12월 31일 이전출생자)과 80세 미만(1938년 6월 17일 이후 출생자)으로 자전거와 안전 헬멧을 소지하고 있고 21Km퍼레이드를 안전하게 완주할 수 있는 신체 건강한 남녀    


신청방법

  1. 2003년 6월 18일 부터 2009년 12월 31일 출생자는 개인참가 신청을 하실 수 없으며 단체로 참가 하셔야 합니다.


  2. 단, 2003년 6월 178 이후 출생자는 사망담보 보험을 가입할 수 없으니 참가신청 시 신중히 고려하여 신청하시기 바랍니다.


  3. 단체신청은 2인 이상부터 가능합니다.


  4. 단체신청시 단체 대표자는 2003년 6월 17일 이전 출생자만 가능합니다.


  5. 만약 단체원 중 2003년 6월 18일 이후 출생자가 있는 경우 단체 대표자를 법정대리인으로 선임합니다.


  6. 참가신청은 익스플로러 브라우저에서만 가능(크롬 브라우저 불가)


  7. 참가비 결제는 신용카드와 가상계좌 입금, 또는 공지사항에 일반계좌 입금으로 가능합니다.


자세한 사항은 행사개요, 참가신청 안내, 참가자 유의사항을 참조하시기 바랍니다.


감사합니다.


[링크 : http://seoulbikefest.com/community/notice_detail.asp?part=notice&id=145

'개소리 왈왈 > 자전거' 카테고리의 다른 글

서울 자전거 대행진 신청 4/30  (0) 14:55:23
유니크 S 배터리  (0) 2017.09.13
알톤 유니크 S  (0) 2017.09.12
전기 자전거 자전거 도로 다닐수 있다?!  (0) 2017.09.12
자전거 타고 회사 가기!  (4) 2017.06.24
2017 자전거 대행진  (0) 2017.06.18
Posted by 구차니

댓글을 달아 주세요

프로그램 사용/wiki2018.04.27 13:27

요약하자면.. 기준 언어로 글을 쓰고

그걸 번역하면서 다국어 지원하는 개념이라 translate extension이 핵심이 된다.


그리고 사용자가 번역 페이지를 만들려면 권한이 필요한데

이 부분은 검색중..


---

아.. 이래서 UFO:AI 번역할때 웹에서 하도록 한거였나..

po 파일과 wiki를 연동가능해서?


It is also possible to export messages for translation in other off-line and on-line tools that accept the Gettext pofile format. 

[링크 : https://www.mediawiki.org/wiki/Help:Extension:Translate]


Usually you can't make translations without asking for permissions. Some wikis however have enabled translation to all users. You will quickly notice if you lack the rights to translate. If this is the case, contact a translation administrator of your wiki. Let's start with getting to the translation view.

  • 1a. Go to the Fréttinga page.
  • 2a. Click the "Translate this page" link (if it does not show up you don't have permission to translate). 

[링크 : https://www.mediawiki.org/wiki/Help:Extension:Translate/Translation_example]


비 로그인으로 해봐서 그런건가?

require_once "$IP/extensions/Translate/Translate.php";

$wgGroupPermissions['user']['translate'] = true;

$wgGroupPermissions['user']['translate-messagereview'] = true;

$wgGroupPermissions['user']['translate-groupreview'] = true;

$wgGroupPermissions['user']['translate-import'] = true;

$wgGroupPermissions['sysop']['pagetranslation'] = true;

$wgGroupPermissions['sysop']['translate-manage'] = true;


[링크 : https://www.mediawiki.org/wiki/Help:Extension:Translate/Configuration]

[링크 : https://www.mediawiki.org/wiki/Help:Extension:Translate/Page_translation_administration]

Posted by 구차니

댓글을 달아 주세요

프로그램 사용/wiki2018.04.27 11:22

어느게 맞는건지 모르겠다

internationalize 인지

localize인지

multilingual인지 어느게

다국어 페이지를 지원하는건지 도통 감이 안온다



[링크 : https://www.mediawiki.org/wiki/Multilingual_MediaWiki] 오래된 문서

[링크 : https://www.mediawiki.org/wiki/Extension%3aTranslate] 얘가 그거라는데 암만봐도 구글 번역 붙이는 느낌?


internationalization?

[링크 : https://stackoverflow.com/./multilingual-mediawiki-installation-using-wiki-family-vs-single-multilingual-med]

[링크 : https://www.mediawiki.org/wiki/Category:Internationalization_extensions]

[링크 : https://www.mediawiki.org/wiki/Category:Localisation_extensions]


2018.04 언어 확장 번들

https://translatewiki.net/mleb/MediaWikiLanguageExtensionBundle-2018.04.tar.bz2 


추가하고 설정해줄 내용인데.. 확장만 해도 5가지를 깔아야 완성되는건가?

wfLoadExtension( 'Babel' );


wfLoadExtension( 'cldr' );


wfLoadExtension( 'CleanChanges' );

$wgCCTrailerFilter = true;

$wgCCUserFilter = false;

$wgDefaultUserOptions['usenewrc'] = 1;


wfLoadExtension( 'LocalisationUpdate' );

$wgLocalisationUpdateDirectory = "$IP/cache";


require_once "$IP/extensions/Translate/Translate.php";

$wgGroupPermissions['user']['translate'] = true;

$wgGroupPermissions['user']['translate-messagereview'] = true;

$wgGroupPermissions['user']['translate-groupreview'] = true;

$wgGroupPermissions['user']['translate-import'] = true;

$wgGroupPermissions['sysop']['pagetranslation'] = true;

$wgGroupPermissions['sysop']['translate-manage'] = true;

$wgTranslateDocumentationLanguageCode = 'qqq';

$wgExtraLanguageNames['qqq'] = 'Message documentation'; # No linguistic content. Used for documenting messages


wfLoadExtension( 'UniversalLanguageSelector' ); 


[링크 : https://www.mediawiki.org/wiki/MediaWiki_Language_Extension_Bundle]


+

쓰는게 구버전 위키라 그런지 에러 뱉네.. 퉤~

버전업을 해야하나.. ㅠㅠ

/var/www/html/mediawiki$ php index.php

PHP Fatal error:  Uncaught Exception: Babel is not compatible with the current MediaWiki core (version 1.27.4), it requires: >= 1.29.0.

UniversalLanguageSelector is not compatible with the current MediaWiki core (version 1.27.4), it requires: >= 1.29.0. in /var/www/html/mediawiki/includes/registration/ExtensionRegistry.php:222

Stack trace:

#0 /var/www/html/mediawiki/includes/registration/ExtensionRegistry.php(137): ExtensionRegistry->readFromQueue(Array)

#1 /var/www/html/mediawiki/includes/Setup.php(39): ExtensionRegistry->loadFromQueue()

#2 /var/www/html/mediawiki/includes/WebStart.php(137): require_once('/var/www/html/m...')

#3 /var/www/html/mediawiki/index.php(40): require('/var/www/html/m...')

#4 {main}

  thrown in /var/www/html/mediawiki/includes/registration/ExtensionRegistry.php on line 222 


위키피디아 가서 보니 흐음..

MediaWiki 1.32.0-wmf.1 (d5ae4d6)

2018년 4월 27일 (금) 05:59


Babel 1.11.0 (1230b4c) 2018년 4월 22일 (일) 05:15 GPL-2.0-or-later 사용자 지정 틀을 포함할 수 있는 바벨 유저박스 단을 만들 수 있도록 #babel 파서 함수를 추가합니다

CLDR 4.5.0 (4ef981f) 2018년 4월 14일 (토) 18:25 GPL-2.0-or-later CLDR 데이터에 따라 한 언어로 번역된 언어 이름을 제공하는 확장 기능

LocalisationUpdate 1.4.0 (6e07084) 2018년 4월 14일 (토) 12:45 GPL-2.0-or-later 번역된 메시지를 가능한 한 최신으로 유지합니다

UniversalLanguageSelector 2018-04-10 (5f153f0) 2018년 4월 25일 (수) 00:55 GPL-2.0-or-later 사용자에게 언어를 선택하고 언어 설정을 바꾸는 몇 가지 방법을 제공합니다 


[링크 : https://ko.wikipedia.org/wiki/특수:버전]



+

귀찮아서 1.30 받고

2018.04 언어팩 받고


설치하니 에러뿜뿜

$ php index.php

<!DOCTYPE html>

<html><head><title>Internal error - 130wiki</title><style>body { font-family: sans-serif; margin: 0; padding: 0.5em 2em; }</style></head><body>

<div class="errorbox">[b57e80505ebcc0c92c24ee07] 2018-04-27 03:02:49: Fatal exception of type MWException</div>

<!-- Set $wgShowExceptionDetails = true; at the bottom of LocalSettings.php to show detailed debugging information. --></body></html> 


고민해보니.. db 업데이트 안되서 그런거 같으니

$ sudo php maintenance/update.php 

이거 실행하고 나니 ok


상단에 한국어 버튼이 생기는데, 대문이 다른 언어로 추가되는건 아닌거 같고 UI가 다국어 지원하도록 변경된다.


글들이 다국어 지원하게 하려면 어떻게 해야하려나..

Posted by 구차니

댓글을 달아 주세요

댓글 알리미가 표준은 아니니..

다른 사이트 모니터링용으로 RSS를 응용해서 내가 댓글 달면 알려주고 하는건 어떨까?

그런 수단으로서 RSS를 쓰는것도 방법일 듯?


파이썬

[링크 : http://w3devlabs.net/wp/?p=16964]


php ajax

[링크 : https://www.w3schools.com/php/php_ajax_rss_reader.asp]

Posted by 구차니

댓글을 달아 주세요

embeded/i2c2018.04.26 15:05


[링크 : https://www.i2c-bus.org/]


10bit address

0b11110xxM 0bxxxxxxxx

M은 Read/Write

xx 총 10비트로 7비트에서 확장하여 장치를 더 많이 사용 가능함

RW는 첫 바이트(?)에만 나오므로 두번째 바이트는 기존에 장치 register address로 쓰이던 부분임

0x78~ 0x7B(120~123) 주소로 시작하면 10비트 어드레싱으로 간주하면 된다


7비트 addressing 일 경우

0~127 까지 가능한데 그럼 7비트랑 10비트랑 어떻게 구분해야 하려나?

[링크 : https://www.i2c-bus.org/addressing/10-bit-addressing/]



반복 start 상태는 

ACK 받은 후 STOP으로 진행후 idle로 빠지는게 아니라

ACK 받은 후 START로 진행후 한번더 전송하는 상태이다.

[링크 : https://www.i2c-bus.org/repeated-start-condition/]



---

버스트

[링크 : https://blog.naver.com/specialist0/220645221966]

'embeded > i2c' 카테고리의 다른 글

i2c 자료  (0) 2018.04.26
i2c mode - tm4c  (0) 2018.04.26
i2c BUS에 pull-up, pull-down  (0) 2018.04.26
i2c bank switching  (0) 2015.09.02
i2c 정리  (4) 2012.01.10
I2C  (2) 2011.11.28
Posted by 구차니

댓글을 달아 주세요

회사 근처에 약국이 음슴

레알 없음


(가장 가까운게 직선거리 800m)


암튼 병원가긴 시간이 애매해서

약국가서 침 넘기는데 아프다고 하니 약팔이 시작하는데



나 : 아 가루약 빼주세요(정체 불명의 그 한약 과립)

약사 : 알약만 먹어서는 안나아. 이거 먹어야 나아

나 : 어짜피 약국에서 처방전 없이 항생제 안되잖아요

약사 : 아냐 이거에 항생제 들어있어. 자 사인.

(한 8천원나옴. 알약 10개 들이 한상자 + 정체불명 5포)


나 : 이 돈이면 병원가는게 낫겠네요. 주사도 맞고

약사 : 병원가면 2시간은 기다려야 하잖아. 똑같아

나 : !!! (나... 납득 오... 케이?)

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

침 넘기기 힘들어서 어제 약을 사러 갔던 썰  (3) 2018.04.26
신용카드 추천..  (2) 2018.04.25
아 일하기 싫다  (0) 2018.03.22
왕피곤..  (0) 2018.03.17
배터리 방전  (0) 2018.03.14
오늘 집에 갈수는 있으려나..  (0) 2018.03.13
Posted by 구차니

댓글을 달아 주세요

  1. 저도 그 정체모를 한약과립 싫어하는데...

    2018.04.26 17:32 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 맛은 나쁘지 않은데
      계산해보니 한포에 천원꼴로 돈 받아먹는 용도로 쓰는거 같더라구요 -_-
      그리고 말그대로 그냥 흰색 포장지에 따로 넣고 한거라 대개는 보일 정식 제조사 정보도 하나도 없었거든요 ㅠㅠ

      2018.04.26 17:48 신고 [ ADDR : EDIT/ DEL ]
  2. 이야기 된 한약과립이 뭔지 잘 모르겠어요.
    뭐지? ? ?

    2018.04.26 18:07 신고 [ ADDR : EDIT/ DEL : REPLY ]

아내 친구가


학군 변경되는 시점에 고점에 팔고, 새로운데로 이사갔다는데

반대로 생각해보니...


요즘 출산률은 바닥을 찍고 있고

급속도로 인구가 깔대기 모양을 찍고 있는데

지금 우리 아이가 고등학교 학군을 중요시 여길 시점에는 (그러니까 한 10년 이후?)

교사가 학생보다 많아지고

일부 대도시를 제외하면 학교가 통폐합 당해서

결국에는 학군의 의미 자체가 사라지지 않을까?


그리고 그에 따라 학군의 프리미엄이 사라지니

(물론 등하교 문제로 인한 약간의 프리미엄은 있겠지만)

그에 따른 집값 하락도 추가도 발생하지 않을까?


그리고 학생수가 줄어드니

학교에서 등하교 지원을 하게 될지도?

(워낙 먼데서 부터 와야 하는데 교사는 남아 도니까?)

Posted by 구차니

댓글을 달아 주세요

  1. 애초에 학군이라는 것 자체가 생긴 이유를 생각하면,
    모두다 먹고 살기 부족함이 없거나, 모두다 좋은 직장을 가지게 되지 않는 이상
    또 다른 줄세우기와 서열화가 생기겠죠.

    2018.04.26 17:31 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 그 서열자체를 세우는게 무방할 정도로 인구가 줄어든다면 이라는 가정일지두요.
      아무튼.. 서울대 하나에 들어갈 정도로 인구가 확 줄어 버리면(그럼 연 1000명 정도 되려나요?) 그 전에 대한민국이 망하려나요?
      조금 크게 잡고 서울에 있는 top 10 대학 수준으로 출생율이 줄어든다면
      충분히 통폐합과 학벌이 상당히 줄어들지 않을까 생각됩니다.

      물론 그게 빠를지.. AI에 의한 인간사육이 빠를지 그게 문제가 되겠지만 말이죠

      2018.04.26 17:47 신고 [ ADDR : EDIT/ DEL ]
  2. 제발 그랬으면 좋겠네요... ㅜㅜ

    2018.04.26 18:19 신고 [ ADDR : EDIT/ DEL : REPLY ]

embeded/i2c2018.04.26 12:31

데이터시트 내용중에

Four I2C modes
– Master transmit
– Master receive
– Slave transmit
– Slave receive 
 

요런게 보이는데, 풀어 쓰다면

마스터 모드 - master가 slave로 전송 / slave가 master로 부터 받기

마스터 모드 - slave가 master로 전송 / master가 slave로 부터 받기

슬레이브 모드 - slave가 master로 전송 / master가 slave로 부터 받기

슬레이브 모드 - master가 slave로 전송 / slave가 master로 부터 받기 

요렇게 해석이 가능하다.


I2C 통신은 아래와 같이 이루어 지는데 Master에 의해서 SCL이 생성되고
마스터에 의해서 통신이 시작되고(START)

마스터가 쓰는 데이터 = 통신할 slave의 주소 + Read/Write(혹은 Receive/Send) 

슬레이브의 응답 = ACK
마스터가 쓰는 데이터 = slave의 register 주소
슬레이브의 응답 = ACK
마스터가 쓰는 데이터 = register의 data
슬레이브의 응답 = ACK

마스터에 의해서 통신이 종료되게 된다.(STOP)


 

I2C 레지스터 관련 내용 





Driverlib에 정의된 내용

#define I2C_MASTER_CMD_SINGLE_SEND                                            \

                                0x00000007

#define I2C_MASTER_CMD_SINGLE_RECEIVE                                         \

                                0x00000007

#define I2C_MASTER_CMD_BURST_SEND_START                                       \

                                0x00000003

#define I2C_MASTER_CMD_BURST_SEND_CONT                                        \

                                0x00000001

#define I2C_MASTER_CMD_BURST_SEND_FINISH                                      \

                                0x00000005

#define I2C_MASTER_CMD_BURST_SEND_STOP                                        \

                                0x00000004

#define I2C_MASTER_CMD_BURST_SEND_ERROR_STOP                                  \

                                0x00000004

#define I2C_MASTER_CMD_BURST_RECEIVE_START                                    \

                                0x0000000b

#define I2C_MASTER_CMD_BURST_RECEIVE_CONT                                     \

                                0x00000009

#define I2C_MASTER_CMD_BURST_RECEIVE_FINISH                                   \

                                0x00000005

#define I2C_MASTER_CMD_BURST_RECEIVE_ERROR_STOP                               \

                                0x00000004

#define I2C_MASTER_CMD_QUICK_COMMAND                                          \

                                0x00000027

#define I2C_MASTER_CMD_HS_MASTER_CODE_SEND                                    \

                                0x00000013

#define I2C_MASTER_CMD_FIFO_SINGLE_SEND                                       \

                                0x00000046

#define I2C_MASTER_CMD_FIFO_SINGLE_RECEIVE                                    \

                                0x00000046

#define I2C_MASTER_CMD_FIFO_BURST_SEND_START                                  \

                                0x00000042

#define I2C_MASTER_CMD_FIFO_BURST_SEND_CONT                                   \

                                0x00000040

#define I2C_MASTER_CMD_FIFO_BURST_SEND_FINISH                                 \

                                0x00000044

#define I2C_MASTER_CMD_FIFO_BURST_SEND_ERROR_STOP                             \

                                0x00000004

#define I2C_MASTER_CMD_FIFO_BURST_RECEIVE_START                               \

                                0x0000004a

#define I2C_MASTER_CMD_FIFO_BURST_RECEIVE_CONT                                \

                                0x00000048

#define I2C_MASTER_CMD_FIFO_BURST_RECEIVE_FINISH                              \

                                0x00000044

#define I2C_MASTER_CMD_FIFO_BURST_RECEIVE_ERROR_STOP                          \

                                0x00000004


#define I2C_O_MCS               0x00000004  // I2C Master Control/Status 


void

I2CMasterControl(uint32_t ui32Base, uint32_t ui32Cmd)

{

    //

    // Check the arguments.

    //

    ASSERT(_I2CBaseValid(ui32Base));

    ASSERT((ui32Cmd == I2C_MASTER_CMD_SINGLE_SEND) ||

           (ui32Cmd == I2C_MASTER_CMD_SINGLE_RECEIVE) ||

           (ui32Cmd == I2C_MASTER_CMD_BURST_SEND_START) ||

           (ui32Cmd == I2C_MASTER_CMD_BURST_SEND_CONT) ||

           (ui32Cmd == I2C_MASTER_CMD_BURST_SEND_FINISH) ||

           (ui32Cmd == I2C_MASTER_CMD_BURST_SEND_ERROR_STOP) ||

           (ui32Cmd == I2C_MASTER_CMD_BURST_RECEIVE_START) ||

           (ui32Cmd == I2C_MASTER_CMD_BURST_RECEIVE_CONT) ||

           (ui32Cmd == I2C_MASTER_CMD_BURST_RECEIVE_FINISH) ||

           (ui32Cmd == I2C_MASTER_CMD_BURST_RECEIVE_ERROR_STOP) ||

           (ui32Cmd == I2C_MASTER_CMD_QUICK_COMMAND) ||

           (ui32Cmd == I2C_MASTER_CMD_FIFO_SINGLE_SEND) ||

           (ui32Cmd == I2C_MASTER_CMD_FIFO_SINGLE_RECEIVE) ||

           (ui32Cmd == I2C_MASTER_CMD_FIFO_BURST_SEND_START) ||

           (ui32Cmd == I2C_MASTER_CMD_FIFO_BURST_SEND_CONT) ||

           (ui32Cmd == I2C_MASTER_CMD_FIFO_BURST_SEND_FINISH) ||

           (ui32Cmd == I2C_MASTER_CMD_FIFO_BURST_SEND_ERROR_STOP) ||

           (ui32Cmd == I2C_MASTER_CMD_FIFO_BURST_RECEIVE_START) ||

           (ui32Cmd == I2C_MASTER_CMD_FIFO_BURST_RECEIVE_CONT) ||

           (ui32Cmd == I2C_MASTER_CMD_FIFO_BURST_RECEIVE_FINISH) ||

           (ui32Cmd == I2C_MASTER_CMD_FIFO_BURST_RECEIVE_ERROR_STOP) ||

           (ui32Cmd == I2C_MASTER_CMD_HS_MASTER_CODE_SEND));


    //

    // Send the command.

    //

    HWREG(ui32Base + I2C_O_MCS) = ui32Cmd;



값대로 정렬하면 아래처럼 나오는데

CONT 0x01

START 0x03

STOP 0x04

FINISH 0x05

_SINGLE_ 0x07

로 끝나게 된다.


I2C_MASTER_CMD_BURST_SEND_CONT 0x00000001


I2C_MASTER_CMD_BURST_SEND_START 0x00000003


I2C_MASTER_CMD_BURST_SEND_STOP 0x00000004

I2C_MASTER_CMD_BURST_SEND_ERROR_STOP 0x00000004

I2C_MASTER_CMD_BURST_RECEIVE_ERROR_STOP 0x00000004

I2C_MASTER_CMD_FIFO_BURST_SEND_ERROR_STOP 0x00000004

I2C_MASTER_CMD_FIFO_BURST_RECEIVE_ERROR_STOP 0x00000004


I2C_MASTER_CMD_BURST_SEND_FINISH 0x00000005

I2C_MASTER_CMD_BURST_RECEIVE_FINISH 0x00000005


I2C_MASTER_CMD_SINGLE_SEND 0x00000007

I2C_MASTER_CMD_SINGLE_RECEIVE 0x00000007


I2C_MASTER_CMD_BURST_RECEIVE_CONT 0x00000009

I2C_MASTER_CMD_BURST_RECEIVE_START 0x0000000b


I2C_MASTER_CMD_HS_MASTER_CODE_SEND 0x00000013


I2C_MASTER_CMD_QUICK_COMMAND 0x00000027

I2C_MASTER_CMD_FIFO_BURST_SEND_CONT 0x00000040

I2C_MASTER_CMD_FIFO_BURST_SEND_START 0x00000042

I2C_MASTER_CMD_FIFO_BURST_SEND_FINISH 0x00000044

I2C_MASTER_CMD_FIFO_BURST_RECEIVE_FINISH 0x00000044

I2C_MASTER_CMD_FIFO_SINGLE_SEND 0x00000046

I2C_MASTER_CMD_FIFO_SINGLE_RECEIVE 0x00000046

I2C_MASTER_CMD_FIFO_BURST_RECEIVE_CONT 0x00000048

I2C_MASTER_CMD_FIFO_BURST_RECEIVE_START 0x0000004a 



+

데이터시트에는 존재하지 않는 오프셋 주소다.. ㄷㄷ

burst mode랑 multibyte랑 다른거 같긴한데 모르겠네..

#define I2C_O_MBLEN             0x00000030  // I2C Master Burst Length

#define I2C_O_MBCNT             0x00000034  // I2C Master Burst Count 


I2CMCS에 write 레지스터는.. 0x10까지만 공개되어 있네?

#define I2C_MCS_BURST           0x00000040  // Burst Enable 


공개가 안된건.. 해당 칩셋에서는 burst mode 사용불가인거 겠지?



state라고 하긴 애매한데

idle(통신을 잡지 않은 상태)

start (SDA,SCL Low, 통신 시작)

transmit(address LSB에 Write)

receive(address LSB에 Read)

stop (통신을 놓음)

repeat start(통신을 놓지 않고 다른 장치나 주소로 통신)

run (ACK 이후에 stop이나 transmit/recieve로 가는 상태)


이러한 상태들이 존재하게 된다.

그림으로 그리려니 참 애매해지네


그런 이유로... i2c 구현시에 함수들이 uart 처럼 단순하지 않고

토막토막 나있는 것으로 보인다.


I2CMasterControl()은

i2c driver의 state machine을 통제하고

i2c 로직에서는

장치 주소와, 데이터를 가지고 있고

state machine의 값을 이용해

어떤식으로 데이터를 보낼지 결정하게 된다.

(그래서 더 복잡한 듯)


+

2018.04.27

그러니까.. 1 byte를 기준으로 보내는데

바이트 별로 설정을 해줘야하고

그 설정에 통신을 끝낼지 이어서 전송을 할게 있는지를 설정해주는게 은근복잡했던 것..

'embeded > i2c' 카테고리의 다른 글

i2c 자료  (0) 2018.04.26
i2c mode - tm4c  (0) 2018.04.26
i2c BUS에 pull-up, pull-down  (0) 2018.04.26
i2c bank switching  (0) 2015.09.02
i2c 정리  (4) 2012.01.10
I2C  (2) 2011.11.28
Posted by 구차니

댓글을 달아 주세요

embeded/i2c2018.04.26 12:27

MCU 데이터시트를 보다보니 신기한거(?) 발견

I2C 에서 SCL/SDA에 둘다 풀업이 걸려있다.


그리고 HIGH->LOW로 가면서 통신이 이루어지게 된다.


혹시나 해서 봤는데..

UART 역시 TX 기준 HIGH에서 LOW로 떨어트린 다음 시작하게 된다.


SSI는... LOW에서 HIGH 가네?




아무튼 얼추 주워들은 이야기라 근거, 출처를 아직 못 찾아 봤지만

어떤 의미로 통신은

한쪽에서 전압을 떨구거나 올리는 스위치를 통해 이뤄지는 것이라 pull-up, pull-down이 중요하다고 한다.


I2C의 경우에는 Pull-up으로 통신라인이 구성되고

데이터를 보내기 위해서는 I2C Driver에서 내부적으로 GND로 돌려주는 작업을 하면 

BUS 라인내에서 간단하게 Logical 0과 1을 표현할 수 있고

받는 쪽에서도 rising edge나 falling edge를 탐지하면 인터럽트로 처리가 가능하니

통신이란 거진 이런 양상을 뛰는 걸지도?


SSI같이 Low에서 High로 가는건

Pull-down으로 구성하고, 드라이버 내에서 logical 1을 표현시에는

Driver에 인가되는 Vcc를 스위칭 해주는 것으로 구현될 것으로 추측된다.

'embeded > i2c' 카테고리의 다른 글

i2c 자료  (0) 2018.04.26
i2c mode - tm4c  (0) 2018.04.26
i2c BUS에 pull-up, pull-down  (0) 2018.04.26
i2c bank switching  (0) 2015.09.02
i2c 정리  (4) 2012.01.10
I2C  (2) 2011.11.28
Posted by 구차니

댓글을 달아 주세요

누나가 쓰고 있다고 추천해줌..

고려해봐야지


KB 파인테크

[링크 : https://card.kbcard.com/CXPRICAC0076.cms?mainCC=a&cooperationcode=04580]


KB 다담

[링크 : https://card.kbcard.com/CXPRICAC0076.cms?mainCC=a&cooperationcode=09169]

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

침 넘기기 힘들어서 어제 약을 사러 갔던 썰  (3) 2018.04.26
신용카드 추천..  (2) 2018.04.25
아 일하기 싫다  (0) 2018.03.22
왕피곤..  (0) 2018.03.17
배터리 방전  (0) 2018.03.14
오늘 집에 갈수는 있으려나..  (0) 2018.03.13
Posted by 구차니

댓글을 달아 주세요

  1. 아~ 전 신용카드 없이 살 수 있었으면 좋겠어요.
    체크카드만으로 살 수 있는 생활이 꿈이라니.. --;;

    2018.04.26 10:35 신고 [ ADDR : EDIT/ DEL : REPLY ]