Hi! Guys! I want to design a delay function that can have any desire delay value input in.ex.delay(20)-- 20ms of delay , delay(1000)- 1s of delay. I got problem when I wanted to convert the value of the integer to hexadecimal value. In addition, the hexadecimal value intialize into TH0 and TL0. Give me your advice. Thank You!
What I mean problem? I don't know how to convert from integer to hexadecimal using C.
"I don't know how to convert from integer to hexadecimal using C." You don't need to! As far as 'C' is concerned, it's just a 16-bit number! It's up to you whether you want to write it in decimal as "1000" or in hex as "0x03E8" or in octal as "01750" - the internal storage within the processor is unaffected. I think your real question is, how to separate the two bytes of a 16-bit number? This can be done with shifts & masks, with pointers, or with a union. Think about it, and try a 'Search' - there's plenty of examples here already!
I want the user to input the value of their desire delay value. They don't need to convert to hexadecimal value. The function will do it. And i knew about the "0X"or "Ox"
Your problem is how to convert the user input into a hex-number. I think the scanf-function will do this.
Your problem now seems to be multiple personalities: you started as Zidane Fisherman; now you're dawson yeo...! Or is this a team effort?
View all questions in Keil forum