Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

stm32f4 DS1307

Вт дек 22, 2020 07:42:08

rtc_chasi.c
(945 байт) Скачиваний: 163
[code][/code]
Как правильно запустить часы ds1307.?
Вложения
rts_chasi.h
(583 байт) Скачиваний: 162
main.c
(20.73 KiB) Скачиваний: 162

Re: stm32f4 DS1307

Вт дек 22, 2020 16:19:23

По адресу 0x00 установить 7-ой бит в 0.

Re: stm32f4 DS1307

Вт дек 22, 2020 18:10:17

По адресу 0x00 установить 7-ой бит в 0.

Вы имеете ввду что пподпрограмма записи написана немного не верно?

Добавлено after 2 minutes 34 seconds:
а как это пишится и куда его приципить?

Re: stm32f4 DS1307

Вт дек 22, 2020 18:28:39

Я имею ввиду ответ на вопрос.
Вопрос звучит: "Как правильно запустить часы ds1307"
Мой ответ: "По адресу 0x00 установить 7-ой бит в 0." Полагаю, не нужно напоминать, что при этом к ним должно приходить питание.
Как написана подпрограмма я не увидел - подобную кашу читать сложно. Можно, но мне сегодня лениво, мож кто другой разберется...

а как это пишится и куда его приципить?

Вы можете сами ответить на этот вопрос (а также все следующие), если глянете документацию на RTC DS1307. Там будет сказано, что они управляются через интерфейс I2C. Прочитав про него (I2С), Вы поймете, что пишется это так: посылка на шину адреса устройства с битом записи, адреса регистра, данных регистра.
Обычно, программист использует готовый модуль работы с I2C.
Например, у меня бы это выглядело бы так: Error = I2C_Send(DS1307_Address, 0x00, 0x80);
При этом сбросились бы секунды.

http://easyelectronics.ru/interface-bus-iic-i2c.html

Re: stm32f4 DS1307

Вт дек 22, 2020 18:39:18

Я понял.i2c настроил верно.Но вот этот момент упустил.0x00-адресс секунд.А 0x80?

Re: stm32f4 DS1307

Вт дек 22, 2020 18:41:50

Вы можете сами ответить на этот вопрос (а также все следующие), если глянете документацию на RTC DS1307.

0x80 - это данные.
И, кстати, приведенным примером команды я не только сбросил секунды, но и выключил часы.

Re: stm32f4 DS1307

Вт дек 22, 2020 18:55:00

Спасибо.Буду разбиратся.С EEprom разоьрался.Правда нестандартно записывал 2байтовое число.Ну а как же адрес RTC DS1307 и 8бит в 0?

Re: stm32f4 DS1307

Вт дек 22, 2020 18:58:06

Изображение

Re: stm32f4 DS1307

Ср дек 23, 2020 07:05:27

У меня к вам просьба.Вы не могли бы показать именно этот код в программе?

Re: stm32f4 DS1307

Ср дек 23, 2020 08:22:48

А лучше написать программу полностью :)) :)) :facepalm:

Re: stm32f4 DS1307

Ср дек 23, 2020 10:11:46

В моей программе? Могу, отчего ж не мочь-то....
Код:
Error = I2C_Send(DS1307_Address, 0x00, 0x00); // Run DS1307  (clear bit CH) and clear seconds
if (Error)
{
  MessageShow("Incorrect start of the RTC");
  ErrorTimeOut(5); // Setting time (in seconds) to wait for retrying an operation
}

Re: stm32f4 DS1307

Ср дек 23, 2020 19:21:27

А лучше написать программу полностью :)) :)) :facepalm:
самому .Потому что где этот 7 бит ?

Re: stm32f4 DS1307

Ср дек 23, 2020 22:35:20

Я выше выкладывал картинку. там написано BIT 7
Вам рано еще браться за подобное. Начните с самых-самых азов, для самых начинающих,где рассказывается про двоичную логику, про то, что такое бит и что такое байт, затем про шестнадцатеричную систему... и т.д.

Re: stm32f4 DS1307

Чт дек 24, 2020 07:05:43

0b00000000 вот двоичная логика .Я прочитал дата шит.Ds3231 лучше.

Добавлено after 44 seconds:
в байте 8 битов.

Добавлено after 4 minutes 23 seconds:
И про шестнадцатеричную систему я знал ещё с 18 лет.Вообщем спасибо вам и с наступающим Новым годом 2021 .Я вообще то преследую одну цель .СТМ только год занимаюсь.Сделать самодельный частотник.

Добавлено after 1 minute 2 seconds:
Задача для меня фантастическая.3 фазы уже знаю как произвести.

Re: stm32f4 DS1307

Чт дек 24, 2020 19:01:41

ivan dimir писал(а):b00000000 вот двоичная логика

Нет. Это всего лишь запись числа в неофициальном двоичном формате. Это не логика.
ivan dimir писал(а):в байте 8 битов.

Нет. Это справедливо только для 8-битных байтов. В байте может быть сколько угодно бит.
Ответить