Я использую DS89C450 timer0 для подсчета от 0, когда значение входящих данных равно «0», и оно остановится только тогда, когда данные «1» будут сравниваться со значениями, которые у меня есть. Однако можно ли сохранить значение того, сколько таймера подсчитано, поэтому я мог бы использовать if loop для сравнения значений.Возможно ли сохранить значение таймера в переменной?
Для примера:
for(i=0;i<15;i++)
{
if(in_data == 0)
{
TH0 = 0x00; //Set Timer0 to count from 0
TL0 = 0x00;
TR0 = 1; //Start Timer0
if(in_data == 1) //if InputData = 1
{
TR0 = 0; //Stop Timer0
//Store Timer0 value under "TimerValue"
}
if(TimerValue == 2212) //If TimerValue = 2212(decimal)/08A4(Hex)
{
Data[i] = 0x00; //Set Data[i] = 0
}
}
Кто-нибудь знает можно ли сделать так?
Ну, TH0 и TL0 оба имеют значение таймера. Таким образом, даже при сохранении только TH0 это не точно, так как оно пропускает значение TL0 – xrainxfallx
. Тогда они, вероятно, являются высокими и низкими байтами. См. Обновление. – RedX
Кстати, это то, о чем стоит упомянуть при постановке вопроса. Размер порта и какой порт содержит что. – RedX