2013-03-16 6 views
0

여기에 아무것도 게시하지 않았으므로 많은 시간이있었습니다. 오늘 저는 PIC18F 마이크로 컨트롤러에 타이머를 구현하는 데 도움을 청했습니다. 이 타이머를 srand() 함수의 seed로 사용하는 것이 좋겠지 만 여기를 많이 검색 한 후에는이 문제를 해결할 방법을 찾을 수 없습니다.난수 생성을 위해 PIC18F에 타이머를 구현하십시오.

도와 주시겠습니까?

고마워요.

+0

지금까지 프로그램을 시작할 때 타이머가 있습니다. 몇 가지 설치 구성을 마친 후 사용자에게 버튼을 누르라고 요청합니다. 그가 버튼을 누르면 타이머에서 시간을 복구하고 그것을 사드에 넣습니다. 그러나 내가 관심을 갖고있는 것은 사용자가 아무 버튼을 누르지 않도록하는 것입니다. 그것을 할 수있는 방법이 있습니까? –

답변

0

매우 복잡한 작업이 필요하지 않은 것처럼 보입니다. 타이머를 시작하고 코드의 임의의 지점에서 타이머 값을 읽은 다음 srand에 입력하십시오.

srand(aTimeFunctionYouWrite()); // random seed USE ONCE... 

이제 rand() 액세스가 무작위로 지정됩니다.

C18의 주변 라이브러리에서 필요한 기능과 정의를 찾을 수 있습니다.

#include <timers.h> 

을 통해 사용할 수 있습니다. 설명서를 보려면 doc 폴더를 확인하십시오.

+0

안녕하세요! 답변 해 주셔서 감사합니다. 그게 내가 가진 것보다 많거나 적습니다. 프로그램 시작시 시작되는 타이머가 있습니다. 어떤 시점에서 나는 사용자에게 버튼을 누르라고 요청한다. 그때 나는 Timer로부터 값을 복구하고 그것을 srand 인수로 사용한다. 그러나 나는 사용자가 무엇이든 누르는 것을 기대하지 않았습니다. 그래서 TimeFunctionYouWrite(), 사용자 상호 작용없이 그것을 할 수있는 가능한 방법은 무엇입니까 ?? 그건 그렇고, 나는 XC8을 사용하고 있습니다 :) 고마워요! :) –

+0

여기에 선두입니다 : http://stackoverflow.com/questions/1558321/how-do-i-generate-random-numbers-in-a-microcontroller-efficiently – Ihsan

+0

그리고 여기 극단적 인 하나입니다 : http :// /www.expertcore.org/viewtopic.php?t=1566 – Ihsan