블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.5
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

공지사항

최근에 올라온 글

RS-232 통신장비가 잘 안되는경우, 루프백 테스트로 케이블 및 통신포트 상태를 점검할 수 있습니다.
아래와 같이 십자(+)드라이버를 2,3번핀 사이에 대고, 통신 데이터를 보내면, 동일한 데이터가 다시 올라옵니다.

더 쉽게 하려면, 루프백테스트용 콘넥터를 만들어 끼우는겁니다.
사진은 다음에...
Posted by 안녕1999
, |

자바스크립트에서는 아래와 같이 배열 선언가능

var a=new Array();



function new_Array2(a,b)

{

var i,r=new Array(a);

for(i=0;i<b;i++)

{

r[i]=new Array(b);//각 요소마다 배열을 선언해주어야 한다.

}

return r;

}


※주의 : 배열 차원을 잘못 사용하면, 배열전체가 초기화됨(자바언어의 특징)

예) 2차원 배열 -> 1차원 배열로 사용할 경우

var a2=new_Array2(3,4);


a2[0][0]=2;

a2[0]=10;//a2를 다른형태로 사용하면, 배열전체가 바뀌어버림,

console.log("a2[0]=",a2[0]);//a2[0]= 10

console.log("a2[0][0]=",a2[0][0]);//undefined



※배열차원을 넘어서면, 에러.

예) 2차배열을 3차배열로 사용할 경우.

//a3[0][0][1][2]=3;//j.c:306 Uncaught TypeError: Cannot set property '2' of undefined




function test_new_Array2()

{

console.log("test_new_Array2()");

var a2=new_Array2(3,4);


//a2[0]=10;//a2를 다른형태로 사용(선언)하면, 바뀌어버림,

//console.log("a2[0]=",a2[0]);//a2[0]= 10

console.log("a2[0][0]=",a2[0][0]);//undefined

console.log("a2[0][1]=",a2[0][1]);//undefined

a2[0][0]=2;

console.log("-a2[0][0]=",a2[0][0]);//undefined ???? a2를 다른형태로 사용(선언)하면, 바뀌어버림,

a2[0][1]=3;

//a2[0][1][2]=3;//undefined

console.log("a2[0][1]=",a2[0][1]);//ok

//console.log("a2[0][1][2]=",a2[0][1][2]);//undefined

}

test_new_Array2();

Posted by 안녕1999
, |

인터넷에 있는 코드 몇개를 테스트했다.

임베디드를 하다보면, itoa를 직접 구현해야 할 경우가 가끔있다.


2번째가 라이브러리에 있는 함수

라이브러리에 포함된 함수가 가장 빨랐다.



테스트코드

void _debug_puts2(char *s,int a,int b);

void test_speed_itoa10_buf()

{

int v_start=-1000000,v_end=1000000,n=0,v;char buf[32];DWORD t[8];


_debug_puts("test_speed_itoa10_buf START\r\n");

t[0]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//1

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//2

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//3

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//4

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//5

}

t[1]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//1

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//2

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//3

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//4

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//5

}

t[2]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//1

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//2

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//3

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//4

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//5

}

t[3]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//1

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//2

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//3

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//4

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//5

}

t[4]=GetTickCount();


t[0]=t[1]-t[0];

t[1]=t[2]-t[1];

t[2]=t[3]-t[2];

t[3]=t[4]-t[3];

_debug_puts("test_speed_itoa10_buf END\r\n");

//[0] 6485

//[1] 5328

//[2] 8891

//[3] 7750

Posted by 안녕1999
, |

tina 프로그램은 무료이며, 간단한 회로를 시뮬레이션 해볼 수 있는 좋은 전자회로 테스트 프로그램이다.

유료 사용프로그램은 많은 기능이 있지만, 이것은 무료이므로, 간단한 기능만 가능하다.


가끔 "irregular circuit" 에러가 떠서 당황하는 경우가 있다.

국내에는 사용자가 많지 않아 답을 찾기가 어렵다.

외국에서는 많이 사용한다.

구글신에게 물어보자.


아래의 비교적 간단한(?)회로를 테스트하는데, 에러가 발생했다.

원인은 간단했다. 교류성분만 통과할 수 있는 회로였기때문에 계산이 불가능했던것이다.

메뉴->Analysis->Transient->Zero init value(선택)하면 교류파형을 볼 수 있다.



Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함