02.05.2010, 17:32
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,103
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
|
Re: Осваиваем PIC24
|
|
|
|
02.05.2010, 17:35
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,522
Сказал спасибо: 172
Сказали Спасибо 1,554 раз(а) в 805 сообщении(ях)
|
Re: Осваиваем PIC24
|
|
|
|
02.05.2010, 18:36
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
Re: Осваиваем PIC24
'************************************************* *****************************
' инициализация the RTC on a PIC24 microcontroller
'************************************************* *****************************
sub procedure PIC24_RTC_Init ()
dim tempASM as word
tempASM = OSCCON ' Only for linker to include the register
' Unlock the OSCCON register and then enable SOSC to enable the 32.xxxkHz
' crystal for the RTC
asm
disi #7
mov OSCCON, W1
mov.b #0x02, W0
mov.b #0x46, W2
mov.b #0x57, W3
mov.b W2, [W1]
mov.b W3, [W1]
mov.b W0, [W1]
end asm
tempASM = NVMKEY ' Only for linker to include the register
tempASM = RCFGCAL ' Only for linker to include the register
RCFGCAL = 0x0000
' Unlock the RCFGCAL register and enable the RTC
asm
PUSH W12
DISI #9
MOV #0x55, W12
MOV W12, NVMKEY
MOV #0xAA, W12
MOV W12, NVMKEY
BSET RCFGCAL, #13
NOP
NOP
BSET RCFGCAL, #15
POP W12
end asm
End sub
типа вот так?
|
|
|
|
02.05.2010, 19:12
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
Re: Осваиваем PIC24
Базовая последовательность
кода для переключения тактирования.
;Выбор нового генератора поместите в W0
;OSCCONH (старший байт) Разрешающая
;последовательность
MOV #OSCCONH, w1
MOV #0x78, w2
MOV #0x9A, w3
MOV.b w2, [w1]
MOV.b w3, [w1]
;Установите выбор нового генератора
MOV.b WREG, OSCCONH
;OSCCONL (младший байт) Разрешающая
;последовательность
MOV #OSCCONL, w1
MOV #0x46, w2
MOV #0x57, w3
MOV.b w2, [w1]
MOV.b w3, [w1]
;Начало режима переключения генератора
BSET OSCCON, #0
не пойму где значение старшего и младшего байтов?
|
|
|
|
02.05.2010, 19:56
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
Re: Осваиваем PIC24
|
|
|
|
02.05.2010, 20:22
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,522
Сказал спасибо: 172
Сказали Спасибо 1,554 раз(а) в 805 сообщении(ях)
|
Re: Осваиваем PIC24
Сообщение от Dtolok
|
Базовая последовательность
кода для переключения тактирования.
;Выбор нового генератора поместите в W0
;OSCCONH (старший байт) Разрешающая
;последовательность
MOV #OSCCONH, w1
MOV #0x78, w2
MOV #0x9A, w3
MOV.b w2, [w1]
MOV.b w3, [w1]
;Установите выбор нового генератора
MOV.b WREG, OSCCONH
;OSCCONL (младший байт) Разрешающая
;последовательность
MOV #OSCCONL, w1
MOV #0x46, w2
MOV #0x57, w3
MOV.b w2, [w1]
MOV.b w3, [w1]
;Начало режима переключения генератора
BSET OSCCON, #0
не пойму где значение старшего и младшего байтов?
|
Значение OSCCONH загружается из w0(он же WREG). А BSET OSCCON, #0 запускает процедуру переключения такт. генератора (OSCCONL).
Значение чего?
|
|
|
|
02.05.2010, 20:36
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
Re: Осваиваем PIC24
Значение OSCCON получается надо загрузить в WREG и запустить последовательность?
|
|
|
|
02.05.2010, 20:43
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,522
Сказал спасибо: 172
Сказали Спасибо 1,554 раз(а) в 805 сообщении(ях)
|
Re: Осваиваем PIC24
Сообщение от Dtolok
|
Значение OSCCON получается надо загрузить в WREG и запустить последовательность?
|
Да. Предварительно нужное значение вы помещаете в WREG (w0).
|
|
|
|
02.05.2010, 21:04
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
Re: Осваиваем PIC24
т.е. mov.b #0x02, W0 это запись 1 в OSCCON.SOSCEN... а если прочитать этот регистр то мы в младшем байте должны получить 0х02.. а у меня читается 0 - значит запись не произошла и генератор не запущен. а может быть проблема в регистре конфигурации?
|
|
|
|
02.05.2010, 21:27
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,522
Сказал спасибо: 172
Сказали Спасибо 1,554 раз(а) в 805 сообщении(ях)
|
Re: Осваиваем PIC24
Сообщение от Dtolok
|
'************************************************* *****************************
' инициализация the RTC on a PIC24 microcontroller
'************************************************* *****************************
sub procedure PIC24_RTC_Init ()
dim tempASM as word
tempASM = OSCCON ' Only for linker to include the register
' Unlock the OSCCON register and then enable SOSC to enable the 32.xxxkHz
' crystal for the RTC
asm
disi #7
mov OSCCON, W1
mov.b #0x02, W0
mov.b #0x46, W2
mov.b #0x57, W3
mov.b W2, [W1]
mov.b W3, [W1]
mov.b W0, [W1]
end asm
tempASM = NVMKEY ' Only for linker to include the register
tempASM = RCFGCAL ' Only for linker to include the register
RCFGCAL = 0x0000
' Unlock the RCFGCAL register and enable the RTC
asm
PUSH W12
DISI #9
MOV #0x55, W12
MOV W12, NVMKEY
MOV #0xAA, W12
MOV W12, NVMKEY
BSET RCFGCAL, #13
NOP
NOP
BSET RCFGCAL, #15
POP W12
end asm
End sub
типа вот так?
|
Ошибка красным. Надо mov #OSCCONL, W1. Разница есть, у вас загружается содержимое OSCCON в W1. У меня адрес OSCCONL в W1.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:02.
|
|