-
61. Data: 2019-02-14 14:02:24
Temat: Re: Zagwozdka w C Keil - wyja?nienie.
Od: q...@t...no1 (Queequeg)
a...@m...uni.wroc.pl wrote:
>> A to "`volatile` nie oznacza, ?e kompilator gwarantuje atomiczny dost?p do
>> zmiennej (czyli ?e wy??czy"?
>> Nie do??, ?e masz problem z czytaniem ze zrozumieniem, to jeszcze wyci??e?
>> kluczowy fragment, kt?ry pokazuje, ?e czepiasz si? bez sensu.
>
> Januszowi wlasnie chodzilo o to ze nie:
I ja dokładnie to napisałem:
"`volatile` nie oznacza, że kompilator gwarantuje atomiczny dostęp do
zmiennej".
--
Eksperymentalnie: http://facebook.com/groups/pl.misc.elektronika
-
62. Data: 2019-02-14 14:04:04
Temat: Re: Zagwozdka w C Keil - wyjaśnienie.
Od: q...@t...no1 (Queequeg)
Queequeg <q...@t...no1> wrote:
> dostępu do zmiennej szerszej niż magistrala adresowa).
Autopoprawka: danych. Magistrala danych.
--
Eksperymentalnie: http://facebook.com/groups/pl.misc.elektronika
-
63. Data: 2019-02-14 14:07:19
Temat: Re: Zagwozdka w C Keil - wyja?nienie.
Od: q...@t...no1 (Queequeg)
Grzegorz Niemirowski <g...@p...onet.pl> wrote:
> PS. tin nie obsługuje polskich liter?
Obsługuje, tylko nie domyślnie :)
Ja kompiluję z:
--disable-mime-strict-charset
--with-mime-default-charset=ISO-8859-2
I potem w ~/.tin/attributes:
scope=pl.*,alt.pl.*
mm_network_charset=ISO-8859-2
undeclared_charset=ISO-8859-2
--
Eksperymentalnie: http://facebook.com/groups/pl.misc.elektronika
-
64. Data: 2019-02-14 17:03:23
Temat: Re: Zagwozdka w C Keil - wyjaśnienie.
Od: "J.F." <j...@p...onet.pl>
Dnia Thu, 14 Feb 2019 12:25:23 +0000 (UTC), Queequeg napisał(a):
> J.F. <j...@p...onet.pl> wrote:
>> Na kilka instrukcji ... czemu nie.
> Ale skąd kompilator ma wiedzieć, że dana zmienna jest akurat modyfikowana
> w przerwaniu?
Po atrybucie volatile :-)
J.
-
65. Data: 2019-02-14 17:10:22
Temat: Re: Zagwozdka w C Keil - wyjaśnienie.
Od: "J.F." <j...@p...onet.pl>
Dnia Thu, 14 Feb 2019 13:36:34 +0100, Grzegorz Niemirowski napisał(a):
> J.F. <j...@p...onet.pl> napisał(a):
>> Na kilka instrukcji ... czemu nie.
> Których instrukcji? Wszystkich odwołujących się do tej zmiennej? Nadmierna,
> ukryta ingerencja w kod.
Ale wychodzi na to, ze niezbedna.
>Efektem będzie np. niepożądany jitter. Kod robi się
> mniej przewidywalny.
Liczenie cykli procesora w programie w C ?
>> Szczegolnie, ze ... sam musze je wylaczyc, jesli nie chce takich
>> niespodzianek.
> Albo przepisać tak, żeby wyłączanie nie było konieczne.
Jak dobrze przepisze, to i kompilator nie bedzie musial ich wylaczac.
J.
-
66. Data: 2019-02-14 17:14:03
Temat: Re: Zagwozdka w C Keil - wyjaśnienie.
Od: q...@t...no1 (Queequeg)
J.F. <j...@p...onet.pl> wrote:
>> Ale skąd kompilator ma wiedzieć, że dana zmienna jest akurat modyfikowana
>> w przerwaniu?
>
> Po atrybucie volatile :-)
Czemu w przerwaniu a nie w sygnale?
Czemu w przerwaniu a nie w innym wątku?
Czemu w przerwaniu a nie przez sprzęt?
--
Eksperymentalnie: http://facebook.com/groups/pl.misc.elektronika
-
67. Data: 2019-02-14 18:27:58
Temat: Re: Zagwozdka w C Keil - wyjaśnienie.
Od: "J.F." <j...@p...onet.pl>
Dnia Thu, 14 Feb 2019 16:14:03 +0000 (UTC), Queequeg napisał(a):
> J.F. <j...@p...onet.pl> wrote:
>>> Ale skąd kompilator ma wiedzieć, że dana zmienna jest akurat modyfikowana
>>> w przerwaniu?
>>
>> Po atrybucie volatile :-)
>
> Czemu w przerwaniu a nie w sygnale?
Jakby na jedno wychodzi.
> Czemu w przerwaniu a nie w innym wątku?
Na jednym procesorze to nadal to samo,
ale teraz modne wielo rdzeniowe ... i sie komplikuje
> Czemu w przerwaniu a nie przez sprzęt?
W sensie, ze nie ma co przerwan wylaczac, skoro sprzet to robi?
No moze i racja ... bo problem nadal jest ...
J.
-
68. Data: 2019-02-14 19:42:54
Temat: Re: Zagwozdka w C Keil - wyjaśnienie.
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
J.F. <j...@p...onet.pl> napisał(a):
>> Których instrukcji? Wszystkich odwołujących się do tej zmiennej?
>> Nadmierna, ukryta ingerencja w kod.
> Ale wychodzi na to, ze niezbedna.
Nijak na to nie wychodzi, ponieważ ludzie od lat radzą sobie bez tego. Poza
tym:
> Jak dobrze przepisze, to i kompilator nie bedzie musial ich wylaczac.
powyższe :)
> Liczenie cykli procesora w programie w C ?
Nie chodzi o długość opóźnienia ale o stałość. Poza tym czasem się liczy.
--
Grzegorz Niemirowski
https://www.grzegorz.net/
-
69. Data: 2019-02-14 22:13:48
Temat: Re: Zagwozdka w C Keil - wyjaśnienie.
Od: Janusz <j...@o...pl>
W dniu 2019-02-14 o 10:57, Queequeg pisze:
> Przeczytaj jeszcze raz fragment, który (celowo) zostawiłem niewycięty na
> górze. Ze zrozumieniem.
Oki, przegapiłem to 'nie '.
--
Pozdr
Janusz
-
70. Data: 2019-02-14 22:46:09
Temat: Re: Zagwozdka w C Keil - wyjaśnienie.
Od: "Irek.N." <t...@j...taki.jest.pl>
> Skąd wiesz?
Chociaż by z powodu występowania możliwości błędnego odczytu wartości 0
dla tej zmiennej gdy jest czytana połówkami. Mój przypadek.
Zastanawiam się, czy gdyby kompilator zrobił odczyt wielokrotny, czy
było by to "moralnie" poprawne, czy nadal miało by znamiona łaty?
Dlaczego miał by tak zrobić? Ponieważ volatile (w moim przekonaniu) mówi
kompilatorowi, że może się spodziewać problemów z tą zmienną i nie może
zakładać, że uda się ją odczytać etapowo (tak samo jak np. nie ma sensu
ją buforować, tylko za każdym razem trzeba czytać).
Miłego.
Irek.N.