질문게시판 > [무료 공개] 소스코드 하이라이트 v2.0 beta [2013.02.07]

TODAY120 TOTAL51,327
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌


BASIC4MCU | 질문게시판 | [무료 공개] 소스코드 하이라이트 v2.0 beta [2013.02.07]

페이지 정보

작성자 master 작성일2018-01-23 17:29 조회257회 댓글0건 주소복사

첨부파일

본문

	
1949137565_hl0wQWLX_25EC25A0259C25EB25AA25A9_25EC2597258625EC259D258C.png

코드 정리 하고 싶지 않은 경우에는 칼라만 입히면 되겠습니다.^^
코드 정리만 하고 싶은 분은 정리 후 리치에디터의 글을 컨트롤-A 눌러서 전체 선택한 후 복사하세요

1949137565_g4f7M9Cx_25EC25A0259C25EB25AA25A9_25EC2597258625EC259D258C1.png

1949137565_I3cqldNg_25EC25A0259C25EB25AA25A9_25EC2597258625EC259D258C2.png
처리 순서는 화살표 방향입니다.

1949137565_kZNgGDeF_25EC25A0259C25EB25AA25A9_25EC2597258625EC259D258C3.png

설치 버전이 아니며 폴더에서 바탕화면으로 바로가기 가져다 놓고서 필요할 때 클릭해서 사용하면 됩니다.

//
SHL_C_v1_01.exe - 아이콘 바탕이 흰색이라서 수정해서 다시 올렸습니다.
SHL_C_v1_02.zip - SP3 추가 등 쪼끔 수정했습니다. (2018-01-24)
SHL_C_v1_03.zip - 상단의 링크 삭제시 문제가 생기지 않도록 수정, 폰트크기 확대. (2018-01-26)
SHL_C_v1_04.zip - 가로스크롤바 2개 생성되는 버그 수정, 폰트크기 12로 수정. (2018-01-26)
SHL_v2_0_beta.zip - 많은 기능을 사용자가 선택할 수 있도록 변경 (2018-02-07)
//
키워드를 직접 입력해서 사용할 수 있습니다.(한 라인에 한 개의 키워드)
헤더파일 경우 확장자 없이 파일명만 등록하세요 (예, mega128 stdio 등등)

소스가 긴 경우 키워드가 많으면 처리하는데 시간이 많이 걸립니다.
키워드는 되도록 자주사용하는 것 위주로 갯수를 적게 사용하세요^^

설정 저장(SAVE) 버튼은 3개의 설정 화면을 모두 저장합니다. (어느 페이지의 버튼이든 하나만 누르면 됨)
//
#32 = ' 
SP
32  
20

#13#10 = 0x0d 0x0a="\r\n"
CR
13  
0D
LF
10  
0A

#38 = '&'
&
38 
26

 

  

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// SW 한번만 입력 받기
#include <io.h>
#include <delay.h>
//
#define  SW1     PINA.0
#define  LED1    PORTD=1
#define  LED2    PORTD=2
//
char  PushFlg=0;
//
void main(){
  PORTA.0=1// internal pull-up
  DDRD=3;
  while(1){
    if(!SW1){       // SW==0?// down
      // falling edge detection
      if(PushFlg){  // PushFlg==1?
        PushFlg=0;  // PushFlg clear 해서 연속으로 받지 못하게 함
        LED2;
        delay_ms(100);
      }
    }
    else{            // SW==1?// up
      // rising edge detection
      if(!PushFlg){  // PushFlg==0?
        PushFlg=1;   // PushFlg set 해서 연속으로 받지 못하게 함
        LED1;
        delay_ms(100);
      }
    }
  }
}

 

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// DateTime : 2018-02-07 오후 5:41:59
// by Ok-Hyun Park
// SW 한번만 입력 받기
#include <io.h>
#include <delay.h>
//
#define  SW1     PINA.0
#define  LED1    PORTD=1
#define  LED2    PORTD=2
//
char  PushFlg=0;
//
void main(){
  PORTA.0=1// internal pull-up
  DDRD=3;
  while(1){
    if(!SW1){       // SW==0?// down
      // falling edge detection
      if(PushFlg){  // PushFlg==1?
        PushFlg=0;  // PushFlg clear 해서 연속으로 받지 못하게 함
        LED2;
        delay_ms(100);
      }
    }
    else{            // SW==1?// up
      // rising edge detection
      if(!PushFlg){  // PushFlg==0?
        PushFlg=1;   // PushFlg set 해서 연속으로 받지 못하게 함
        LED1;
        delay_ms(100);
      }
    }
  }
}
// Nice to meet you!
// 이제 저녁시간이 다 되어가는군요.^^

 

 

c 언어에 맞춰서 만든 것이라서 다른 언어에서는 불편한 점이 있을 수 있습니다.^^

// 

이 프로그램은 델파이7 기본 컴포넌트만 사용해서 대부분의 기능을 함수를 만들어서 처리했습니다.

앞으로의 업그레이드 진행 방향은
A) 하이라이트에 편리한 전용 컴포넌트를 사용해서 진행 하든지
B) 지금 방식에서 문제점(속도, 디자인)을 개선하는 방향으로 진행 하겠습니다.
위 두가지 방식을 비교해보기 위해서는 컴포넌트를 설치해서 테스트를 먼저 해봐야겠죠
많은 기능을 지원해주면 편리한 점도 있지만
"옥의 티"라고 (프로그램의 버그가 아닌) 사용상 심각한 버그가 하나라도 존재하는 경우에는 수정이나 디버깅이 쉽지 않으므로
모든 기능을 코드로 작성하는 불편함을 감수 하더라도 직접 만든 함수로 돌릴 수 밖에 없습니다.^^

몇일동안 알아본 적당한 컴포넌트는 아래와 같습니다.
델파이 인스톨용 사이트 https://github.com/KrystianBigaj/dscintilla
컴포넌트 사이트 http://www.scintilla.org
DLL로 여러 컴파일러를 지원하는 것 같으니 사용방법을 찾아보든지, 컴파일러에 이미 포함되어 있는지 체크 해보세요
델파이 경우 일정버전 이상부터는 scintilla를 기본 컴포넌트로 내장하고 있습니다.

단순히 언어의 문법에 맞춰서 칼라만 변경한다면 scintilla 같은 컴포넌트를 사용해서 쉽게 만들 수 있겠지만
코드정리의 기능을 추가하고 있으므로 scintilla에서 코드를 정리 할 때 특별히 문제가 생기는 것은 아닌지도 체크해야 합니다.^^
//
심각한 버그는 댓글로 적어주시고
사소한 버그는 참고 써주세요 ^^


  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 0

조회수 257

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
게시물 검색

                   MCU BASIC ⓒ 2017 모바일버전으로보기