Embedded OS

Mar 08, 2005 Last reply: 21 years ago 1304 Replies

Hi!

ðÏÐÒÁ×ÏÞËÁ ÐÒÏ MB91(FR): ÷ÓÅÇÏ 32 ÐpÉÏpÉÔÅÔÁ ÐÒÅÒÙ×ÁÎÉÊ, ÉÚ ÎÉÈ

- 0-15 ÚÁÒÅÚÅÒ×ÉÒÏ×ÁÎÙ (intMPU, NMI)

- l6-31 ÄÏÓÔÕÐÎÙ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÐÏÌØÚÏ×ÁÔÅÌÅÍ

_______ óÅÒÇÅÊ.

ðÒÉ×ÅÔ Olga!

13 Mar 05 19:03, Olga Nonova ÐÉÓÁÌ Andy Mozzhevilov:

ON> ñ ÎÅ ÓÉÌØÎÁ × óÉ, ÎÏ ÍÎÅ ÐÒÅÄÓÔÁ×ÌÑÅÔÓÑ, ÞÔÏ ÜÔÏÔ ÑÚÙË ÂÏÌØÛÅ ÐÏÄÈÏÄÉÔ ON> ÄÌÑ ÒÁÂÏÔÙ Ó ÄÉÎÁÍÉÞÅÓËÉÍÉ ÏÂØÅËÔÁÍÉ.

þÔÏ ÔÁËÏÅ ÄÉÎÁÍÉÞÅÓËÉÊ ÏÂßÅËÔ?

ON> ôÁËÏÅ ÜÆÆÅËÔÉ×ÎÏ ÒÅÁÌÉÚÕÅÔÓÑ ON> ÔÏÌØËÏ × RAM. á ÎÅÊÍÁÎÏ×ÓËÁÑ ÁÒÈÉÔÅËÔÕÒÁ ÜÆÆÅËÔÉ×ÎÁ ÎÁÏÂÏÒÏÔ- ÄÌÑ ON> ÓÔÁÔÉÞÅÓËÉÈ ÏÂØÅËÔÏ×, ËÏÇÄÁ ËÏÄÙ ÒÁÚ É ÎÁ×ÓÅÇÄÁ ÎÁÐÉÓÁÎÙ É ÒÁÚÍÅÝÅÎÙ × ON> ROM.

÷Ï-ÐÅÒ×ÙÈ, ÓÏ×ÓÅÍ ÎÅÏÂÑÚÁÔÅÌØÎÏ × ROM, ÍÏÖÎÏ É × RAM. ÷Ï-×ÔÏÒÙÈ, Ë ÑÚÙËÕ ÜÔÏ ÎÅ ÉÍÅÅÔ ÎÉËÁËÏÇÏ ÏÔÎÏÛÅÎÉÑ. åÓÔØ ÓÅËÃÉÉ, × ËÏÔÏÒÙÅ × ÐÒÏÃÅÓÓÅ ÒÁÂÏÔÙ ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ÚÁÐÉÓØ (ÔÁÍ ÒÁÚÍÅÝÁÀÔÓÑ ÐÅÒÅÍÅÎÎÙÅ, ËÕÞÉ, ÓÔÅËÉ É Ô.Ð.), ÏÎÉ, ÏÞÅ×ÉÄÎÏ, ÄÏÌÖÎÙ ÒÁÚÍÅÝÁÔØÓÑ × RAM. á ÅÓÔØ ÓÅËÃÉÉ, × ËÏÔÏÒÙÅ ÚÁÐÉÓØ ÎÅ ÐÒÏÉÚ×ÏÄÉÔÓÑ (ÉÓÐÏÌÎÑÅÍÙÊ ËÏÄ, ËÏÎÓÔÁÎÔÙ). åÅ ÍÏÖÎÏ ÒÁÚÍÅÝÁÔØ ÈÏÔØ × ROM, ÈÏÔØ × RAM.

ON> úÄÅÓØ óÉ ÒÁÂÏÔÁÅÔ, ÎÁ ÍÏÊ ×ÚÇÌÑÄ, ÎÅÜÆÆÅËÔÉ×ÎÏ. HÁÐÒÉÍÅÒ, ÄÌÑ ON> ÒÁÂÏÔÙ ÓÏ ÓÔÒÏËÏÊ CONST ËÏÍÐÉÌÑÔÏÒ ÓÎÁÞÁÌÁ ËÏÐÉÒÕÀÔ ÅÅ ÉÚ Flash × ON> SRAM. úÁÞÅÍ? á ÐÏÔÏÍÕ, ÞÔÏ ÔÁË ÐÒÉÎÑÔÏ × ÑÚÙËÅ CÉ- ÒÁÂÏÔÁÔØ Ó ON> ÏÂØÅËÔÁÍÉ ÔÏÌØËÏ × ïúõ.

üÔÏ ÎÅ ÔÁË. ðÒÉÎÑÔÏ ÔÁË, ËÁË ÐÏÓÞÉÔÁÅÔ ÕÄÏÂÎÙÍ ÒÁÚÒÁÂÏÔÞÉË. HÁÐÒÉÍÅÒ Õ ÍÅÎÑ, ËÁË ÐÒÁ×ÉÌÏ, ËÏÎÓÔÁÎÔÙ × ïúõ ËÁË ÒÁÚ ÎÅ ËÏÐÉÒÕÀÔÓÑ, Á ÞÉÔÁÀÔÓÑ ÐÒÑÍÏ ÉÚ ðúõ, ÔÁË ËÁË ÏÂßÅÍ ÄÁÎÎÙÈ ÔÁÍ ÂÏÌØÛÏÊ (ÏÎÉ ×ËÌÀÞÁÀÔ ÎÁÐÒÉÍÅÒ ÐÒÏÛÉ×ËÉ ÄÌÑ ðìéó, ËÁÒÔÉÎËÉ ÄÌÑ http ÓÅÒ×ÅÒÁ É Ô.Ð.), Á ×ÒÅÍÑ ÄÏÓÔÕÐÁ Ë ÎÉÍ ÄÌÑ ÍÅÎÑ ÓÕÝÅÓÔ×ÅÎÎÏÇÏ ÚÎÁÞÅÎÉÑ ÎÅ ÉÍÅÅÔ. ôÅËÓÔ ÖÅ ÄÅÊÓÔ×ÉÔÅÌØÎÏ, ËÏÐÉÒÕÅÔÓÑ × ïúõ (ÔÏÌØËÏ ÎÅ ËÏÍÐÉÌÑÔÏÒÏÍ, Á ÓÔÁÒÔÁÐÏÍ, ÎÁÐÉÓÁÎÎÙÍ ÎÁ ÁÓÓÅÍÂÌÅÒÅ), ÔÁË ËÁË ×ÒÅÍÑ ÞÔÅÎÉÑ ÉÚ ïúõ × ÎÅÓËÏÌØËÏ ÒÁÚ ÍÅÎØÛÅ, ÞÅÍ ÉÚ ðúõ. á ×ÏÏÂÝÅ-ÔÏ Ñ ÍÏÇ É ÅÇÏ ÎÅ ËÏÐÉÒÏ×ÁÔØ, Á ÉÓÐÏÌÎÑÔØ ÐÒÑÍÏ ÉÚ ðúõ, ÅÓÌÉ ÂÙ ÚÁÈÏÔÅÌ.

ON> ïÓÎÏ×ÏÐÏÌÁÇÁÀÝÉÊ ÍÏÍÅÎÔ ON> ÇÁÒ×ÁÒÄÓËÏÊ ÁÒÈÉÔÅËÔÕÒÙ.

ðÒÉ ÞÅÍ ÔÕÔ ÁÒÈÉÔÅËÔÕÒÁ? ÷ ÇÁÒ×ÁÒÄÓËÏÊ ÁÒÈÉÔÅËÔÕÒÅ ÐÁÍÑÔØ ËÏÄÁ ÏÔÄÅÌØÎÁÑ, É ÜÔÏ ÏÂÙÞÎÏ (ÎÏ ÎÅ ÏÂÑÚÁÔÅÌØÎÏ) ðúõ, ÎÏ ËÁËÏÅ ÜÔÏ ÉÍÅÅÔ ÚÎÁÞÅÎÉÅ, ÅÓÌÉ ÐÏ-ÐÅÒ×ÙÈ, × ÒÁÓÐÏÌÏÖÅÎÎÙÅ ÔÁÍ ÓÅËÃÉÉ ÎÅ ÔÒÅÂÕÅÔÓÑ ×ÙÐÏÌÎÑÔØ ÚÁÐÉÓØ, Á ×Ï-×ÔÏÒÙÈ, ÜÔÁ ÐÁÍÑÔØ (ÅÓÌÉ ÏÎÁ ×ÓÔÒÏÅÎÁ × ËÏÎÔÒÏÌÌÅÒ) ÏÐÔÉÍÉÚÉÒÏ×ÁÎÁ ÐÏ ÓËÏÒÏÓÔÉ ÞÔÅÎÉÑ É ÏÂÙÞÎÏ ÎÉÞÅÍ ÎÅ ÕÓÔÕÐÁÅÔ ïúõ? á ÅÓÌÉ Ó×ÏÊÓÔ×Á ÏÄÉÎÁËÏ×Ù, ÔÏ ËÁËÁÑ ÒÁÚÎÉÃÁ, ÏÄÎÏ ÁÄÒÅÓÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ËÏÄÁ É ÄÁÎÎÙÈ ÉÌÉ ÒÁÚÎÙÅ?

ON> ñ ÐÅÒÅÛÌÁ ÎÁÚÁÄ ÎÁ ÍÁËÒÏÁÓÓÅÍÂÌÅÒ ÐÏÓÌÅ ÐÏÐÙÔÏË ÞÔÏ-ÔÏ ÒÅÁÌØÎÏÅ ON> ÉÓÐÏÌÎÉÔØ ÎÁ C ÏÔ IAR AVR. ðÒÉÞÅÍ ÐÒÅÄÐÒÉÎÑÌÁ ÇÅÒÏÉÞÅÓËÉÅ ÕÓÉÌÉÑ, ON> ÞÔÏÂÙ ÒÁÚÏÂÒÁÔØÓÑ, ÐÏÞÅÍÕ ÎÉÞÅÇÏ ÎÅ ÐÏÌÕÞÁÅÔÓÑ. ïÔËÒÙ×ÁÌÁ ÄÁÖÅ ON> ÄÉÚÁÓÓÅÍÂÌÅÒ ÎÁ ÇÏÔÏ×ÏÍ ËÏÄÅ É ÓÍÏÔÒÅÌÁ, ËÁË ÒÅÁÌÉÚÕÅÔ ÔÏ ÉÌÉ ÉÎÏÅ ON> ÄÅÊÓÔ×ÉÅ ËÏÍÐÉÌÑÔÏÒ. ïÔËÒÙÌÁ ÍÎÏÇÏ ÕÄÉ×ÉÔÅÌØÎÅÊÛÉÈ ×ÅÝÅÊ, ËÏÔÏÒÙÅ ON> ÎÁ×ÓÅÇÄÁ ÏÔ×ÒÁÔÉÌÉ ÏÔ óÉ × ÎÅÊÍÁÎÏ×ÓËÏÊ ÁÒÈÉÔÅËÔÕÒÅ.

ïÌÑ, Ñ ÔÅÂÑ, ×ÏÚÍÏÖÎÏ, ÕÄÉ×ÌÀ, ÎÏ ËÏÎÔÒÏÌÌÅÒÙ Atmel AVR ÉÍÅÀÔ ÎÅ ÆÏÎ-ÎÅÊÍÁÎÏ×ÓËÕÀ ÁÒÈÉÔÅËÔÕÒÕ.

ON> âÙÌÏ Ä×Á ÇÏÄÁ ÎÁÚÁÄ, ËÒÉÓÔÁÌÌ ATmega128, ó-ËÏÍÐÉÌÑÔÏÒ IAR. ðÒÏÂÌÅÍÙ ON> ÂÙÌÉ Ó ÏÂØÅËÔÁÍÉ ÔÉÐÁ CONST (ÔÁÂÌÉÃÙ, ÓÔÒÏËÉ, ÔÅÍÐÌÅÊÔÙ, ÄÉÁÌÏÇÏ×ÙÅ ON> ÄÅÒÅרÑ), ËÏÔÏÒÙÅ ËÏÍÐÉÌÑÔÏÒ ÕÐÏÒÎÏ ËÏÐÉÒÏ×ÁÌ ÉÚ Flash × SRAM ÐÅÒÅÄ ON> ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ.

ôÙ ÚÒÑ ÏÂÏÂÝÁÅÛØ. avr-gcc ÐÏÚ×ÏÌÑÅÔ ÒÁÚÍÅÝÁÔØ ÄÁÎÎÙÅ ÔÁÍ, ÇÄÅ ÈÏÞÅÔ ÐÒÏÇÒÁÍÍÉÓÔ - ÐÏÌÎÁÑ Ó×ÏÂÏÄÁ. IAR ICC51 - ÁÎÁÌÏÇÉÞÎÏ, ÐÒÉÞÅÍ ÕËÁÚÁÔÅÌÉ ÐÏÓÌÅÄÎÅÇÏ ÕÎÉ×ÅÒÓÁÌØÎÙ, ÔÏ ÅÓÔØ ÏÄÉÎ É ÔÏÔ ÖÅ ÕËÁÚÁÔÅÌØ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØ ÏÂÒÁÝÅÎÉÅ ËÁË Ë ÐÁÍÑÔÉ ËÏÄÁ, ÔÁË É Ë ÐÁÍÑÔÑÍ ÄÁÎÎÙÈ (ËÏÔÏÒÙÈ Õ MCS51 ÎÅÓËÏÌØËÏ ÒÁÚÎÙÈ). åÓÌÉ ÔÅÂÅ ÐÏÐÁÌÁÓØ ËÏÎËÒÅÔÎÁÑ ÒÅÁÌÉÚÁÃÉÑ ÑÚÙËÁ C, ËÏÔÏÒÁÑ ÎÅ ÐÏÚ×ÏÌÑÌÁ ÒÁÂÏÔÁÔØ Ó ËÏÎÓÔÁÎÔÁÍÉ ËÁË ÔÅÂÅ ÈÏÞÅÔÓÑ, ÜÔÏ ÐÒÏÂÌÅÍÁ ÒÅÁÌÉÚÁÃÉÉ, Á ÎÅ ÓÁÍÏÇÏ ÑÚÙËÁ. ñ ÕÖÅ ÐÉÓÁÌ ÔÕÔ, ÞÔÏ ÕÖÅ ÎÅÓËÏÌØËÏ ÌÅÔ Õ ÎÁÓ ÒÁÚ×É×ÁÅÔÓÑ ÏÄÉÎ ÐÒÏÅËÔ, ËÏÔÏÒÙÊ ÏÔÌÁÖÉ×ÁÅÔÓÑ ÎÁ PC (ÐÒÏÃÅÓÓÏÒ i386, ÆÏÎ-ÎÅÊÍÁÎÏ×ÓËÁÑ ÁÒÈÉÔÅËÔÕÒÁ, little-endian, sizeof(int)==4), Á × ÃÅÌÅ×ÏÍ ÕÓÔÒÏÊÓÔ×Å ÒÁÂÏÔÁÅÔ ÎÁ MCS51 (ÇÁÒ×ÁÒÄÓËÁÑ ÁÒÈÉÔÅËÔÕÒÁ, big-endian, sizeof(int)==2).

ON> ÷ÔÏÒÏÊ ÍÏÍÅÎÔ- ÏÔÓÕÔÓÔ×ÉÅ ÚÁÝÉÔÙ × ÂÉÔÏ×ÙÈ ÏÐÅÒÁÃÉÑÈ ON> ÏÔ ÓÌÕÞÁÊÎÏÊ ÍÏÄÉÆÉËÁÃÉÉ ÉÚ-ÚÁ ÐÒÅÒÙ×ÁÎÉÊ.

á ÒÁÚ×Å ÑÚÙË C ÔÒÅÂÕÅÔ ÎÁÌÉÞÉÑ ÔÁËÏÊ ÚÁÝÉÔÙ? AFAIK ÎÅÔ. ïÂÅÓÐÅÞÉ×ÁÔØ ÚÁÝÉÔÕ ÒÁÚÄÅÌÑÅÍÙÈ ÏÂßÅËÔÏ× - ÚÁÂÏÔÁ ÐÒÏÇÒÁÍÍÉÓÔÁ. ïÎ ÄÏÌÖÅÎ ÂÙÌ ÎÁÐÒÉÍÅÒ ÚÁÐÒÅÔÉÔØ ÐÒÅÒÙ×ÁÎÉÅ ÎÁ ×ÒÅÍÑ ÄÏÓÔÕÐÁ Ë ÔÁËÏÍÕ ÏÂßÅËÔÕ. é ÜÔÏ ÎÅ ÉÍÅÅÔ ÏÔÎÏÛÅÎÉÑ ÎÉ Ë ÑÚÙËÕ, ÎÉ Ë ÁÒÈÉÔÅËÔÕÒÅ ÐÒÏÃÅÓÓÏÒÁ.

ON> öÕÔËÏ ÏÂØÅÍÎÏÅ ÓÏÈÒÁÎÅÎÉÅ É ON> ×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ ËÏÎÔÅËÓÔÁ × ÐÒÅÒÙ×ÁÎÉÑÈ.

é ÜÔÏ ÎÅ ÉÍÅÅÔ ÏÔÎÏÛÅÎÉÑ ÎÉ Ë ÑÚÙËÕ, ÎÉ Ë ÁÒÈÉÔÅËÔÕÒÅ. åÓÔØ ÐÒÏÃÅÓÓÏÒÙ, ÐÏÚ×ÏÌÑÀÝÉÅ ÍÉÎÉÍÉÚÉÒÏ×ÁÔØ ÕÓÉÌÉÑ ÐÏ ÓÏÈÒÁÎÅÎÉÀ ËÏÎÔÅËÓÔÁ - ÎÁÐÒÉÍÅÒ FIQ × ARM7 ÉÍÅÅÔ ÓÏÂÓÔ×ÅÎÎÙÊ ÓÔÅË É ÓÏÂÓÔ×ÅÎÎÙÊ ÎÁÂÏÒ ÒÅÇÉÓÔÒÏ×, ËÏÔÏÒÙÊ ×ËÌÀÞÁÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÒÉ ×ÈÏÄÅ × ÐÒÅÒÙ×ÁÎÉÅ. MCS51 ÉÍÅÅÔ ×ÏÚÍÏÖÎÏÓÔØ ×ËÌÀÞÉÔØ ÁÌØÔÅÒÎÁÔÉ×ÎÙÊ ÎÁÂÏÒ ÒÅÇÉÓÔÒÏ×.

ON> é ÎÁËÏÎÅÃ, ËÏÛÍÁÒÎÏÅ ON> ËÏÌÉÞÅÓÔ×Ï ÂÁÇÏ× × ÂÉÂÌÉÏÔÅËÁÈ- ÓÁÍÏÍ ÃÅÎÎÏÍ, ÞÔÏ ×ÏÏÂÝÅ ÅÓÔØ × ON> ÑÚÙËÁÈ ×ÙÓÏËÏÇÏ ÕÒÏ×ÎÑ.

á ÚÁÞÅÍ ÖÅ ÔÙ ×ÙÂÒÁÌÁ ÔÁËÉÅ ÂÉÂÌÉÏÔÅËÉ? ÷Ï-ÐÅÒ×ÙÈ, ÅÓÔØ ÏÔÎÏÓÉÔÅÌØÎÏ ÎÏÒÍÁÌØÎÙÅ ÂÉÂÌÉÏÔÅËÉ, ×ÐÏÌÎÅ ÐÒÉÇÏÄÎÙÅ Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ. ÷Ï-×ÔÏÒÙÈ, ÐÒÉ ÞÅÍ ÔÕÔ ÑÚÙË C? ëÏÇÄÁ ÔÙ ÐÉÛÅÛØ ÎÁ ÁÓÓÅÍÂÌÅÒÅ, ÔÙ ÉÓÐÏÌØÚÕÅÛØ ËÁËÉÅ-ÔÏ ÄÒÕÇÉÅ ÂÉÂÌÉÏÔÅËÉ? éÌÉ ÐÉÛÅÛØ ÉÈ ÓÁÍÁ? þÔÏ ÍÅÛÁÅÔ ÄÅÌÁÔØ ÜÔÏ ÖÅ ÎÁ C?

ON> HÁÐÒÉÍÅÒ, ÎÅËÏÔÏÒÙÅ ÂÉÂÌÉÏÔÅÞÎÙÅ ÆÕÎËÃÉÉ ON> ÒÁÂÏÔÙ ÓÏ ON> ÓÔÒÏËÁÍÉ ÐÏÒÔÉÌÉ ÐÏÊÎÔÅÒÙ ÎÁ ÉÓÈÏÄÎÙÅ ÓÔÒÏËÉ! ÷ÒÑÄ-ÌÉ ÔÁËÏÅ ÍÏÖÎÏ ON> ÓÞÉÔÁÔØ ÆÉÞÅÊ.

÷ÏÔ ÚÁÑ×ÌÅÎÉÑ Ï ÂÁÇÁÈ × ÂÉÂÌÉÏÔÅËÁÈ (É, ÔÅÍ ÂÏÌÅÅ, ËÏÍÐÉÌÑÔÏÒÁÈ) ÎÁÄÏ ÉÌÌÀÓÔÒÉÒÏ×ÁÔØ ÐÏ ×ÏÚÍÏÖÎÏÓÔÉ ÐÏÌÎÙÍ ÉÓÈÏÄÎÙÍ ÔÅËÓÔÏÍ É ÓÇÅÎÅÒÉÒÏ×ÁÎÎÙÍ ËÏÍÐÉÌÑÔÏÒÏÍ ËÏÄÏÍ. ó ÕËÁÚÁÎÉÅÍ ËÏÎËÒÅÔÎÙÈ ×ÅÒÓÉÊ ËÏÍÐÉÌÑÔÏÒÁ, ÂÉÂÌÉÏÔÅËÉ, É ÉÓÐÏÌØÚÏ×ÁÎÎÙÈ ÏÐÃÉÊ. éÎÁÞÅ ËÁË ÕÚÎÁÔØ, ÜÔÏ ÂÁÇ ËÏÍÐÉÌÑÔÏÒÁ, ÂÉÂÌÉÏÔÅËÉ ÉÌÉ (ËÁË ÞÁÝÅ ×ÓÅÇÏ ÏËÁÚÙ×ÁÅÔÓÑ) ÉÓÈÏÄÎÏÇÏ ÔÅËÓÔÁ ÐÒÏÇÒÁÍÍÙ? ÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... ðÒÏÇÒÁÍÍÉÓÔÙ É ÐÒÏÇÒÁÍÍÉÓÔËÉ! ÷ÙÛÅ ÆÌÁÇ ÐÒÏÍÅÖÕÔÏÞÎÏÇÏ ÐÅÒÅÎÏÓÁ!

Maxim, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

ðÏÎÅÄÅÌØÎÉË íÁÒÔ 14 2005 04:56, Maxim Polyanskiy wrote to Dima Orlov:

DO>> ñ ÔÕÔ ÕÖÅ ÐÒÉ×ÏÄÉÌ ÐÒÉÍÅÒ ÐÅÒÅÈÏÄÁ Ó PIC16F876 ÎÁ PIC18F2620 ÉÌÉ DO>> PIC18F252. úÁÎÉÍÁÀÝÁÑ 96% ÐÁÍÑÔÉ 876 ÐÉËÁ ÐÒÏÇÒÁÍÍÁ ÂÙÌÁ DO>> ÐÅÒÅÎÅÓÅÎÁ ÇÄÅ-ÔÏ × ÔÅÞÅÎÉÅ ÏÄÎÏÇÏ ÄÎÑ (ÔÏÞÎÅÅ ÓËÁÚÁÔØ ÔÒÕÄÎÏ, DO>> ÔÁË ËÁË ÚÁÎÉÍÁÌÓÑ Ñ ÎÅ ÔÏÌØËÏ ÜÔÉÍ), ÐÒÉÞÅÍ ÓÅÊÞÁÓ - ÜÔÏ ÏÄÉÎ DO>> ÉÓÈÏÄÎÉË, ËÏÔÏÒÙÊ × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÄÅÆÁÊÎÏ× ËÏÍÐÉÌÉÒÕÅÔÓÑ ÐÏÄ DO>> 16F876, 18F252 É 18F2620 (É ÐÒÏ×ÅÒÅÎÏ, ÞÔÏ ÒÁÂÏÔÁÅÔ). óËÏÌØËÏ DO>> ×ÒÅÍÅÎÉ ÂÙ ÕÛÌÏ ÐÒÉ ÐÅÒÅÎÏÓÅ ÉÓÈÏÄÎÉËÁ ÎÁ ÍÁËÒÏÁÓÓÅÍÂÌÅÒÅ? MP> äÁ ÔÏÔ-ÖÅ ÏÄÉÎ ÄÅÎØ. ðÒÉÞÅÍ × ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÜÔÏ ÄÅÌÁÅÔÓÑ ÂÁÎÁÌØÎÏ. MP> òÅÁÌØÎÙÊ ÏÂßÅÍ ÁÓÍ ËÏÄÁ Ô×ÏÅÊ ÚÁÄÁÞÉ ÂÕÄÅÔ ÏËÏÌÏ 60% ÐÁÍÑÔÉ. ÷ ÌÅ×ÏÍ MP> ÏËÎÅ ÏÔËÒÙ×ÁÅÔÓÑ ÉÓÈÏÄÎÉË ÏÔ f876 × ÐÒÁ×ÏÍ ÐÕÓÔÏÊ ÆÁÊÌ É ÐÒÏÓÔÏ MP> ÂÁÎÁÌØÎÏ ÐÉÛÅÔÓÑ ÔÏ-ÖÅ ÓÁÍÏÅ × ÎÓËÏÌØËÏ ÄÒÕÇÉÈ ÍÎÅÍÏÎÉËÁÈ. äÕÍÁÅÛØ ÐÒÉ MP> ÎÏÒÍÁÌØÎÏÍ ÏÐÙÔÅ ÐÒÏÇÁÍÍÉÒÏ×ÁÎÉÑ ÜÔÏ ÂÏÌØÛÅ ÞÅÍ 1 ÄÅÎØ? äÁ Ñ Ó ÔÏÂÏÊ

ïÊ! ôÙ Õ×̣ËÓÑ. ðÒÉ _ÒÅÁÌØÎÏÊ_ ÐÏÐÙÔËÅ ÜÔÏ ÐÒÏÄÅÌÁÔØ ×ÓÐÌÙףÔ ÍÁÓÓÁ "ÚÁÐÏÄÌÑÎÏË", ×ÒÏÄÅ ÉÚÍÅÎÉ×ÛÅÇÏÓÑ ×ÌÉÑÎÉÑ ËÏÍÁÎÄ ÉÎËÒÅÍÅÎÔÁ/ÄÅËÒÅÍÅÎÔÁ/ ÓÄ×ÉÇÁ ÎÁ ÆÌÁÇÉ. ëÒÏÍÅ ÔÏÇÏ "ÔÕÐÏÊ" ÐÏÄÈÏÄ ÎÅ ÐÏÚ×ÏÌÉÔ ÚÁÄÅÊÓÔ×Ï×ÁÔØ ×ÏÚÍÏÖÎÏÓÔÉ ÐÏ ÏÐÔÉÍÉÚÁÃÉÉ ÐÒÏÇÒÁÍÍÙ. äÌÑ ÎÁÞÁÌÁ, × 18-Í ÓÅÍÅÊÓÔ×Å ××ÅÄÅÎÙ _ÔÒÉ_ ÒÅÇÉÓÔÒÁ-ÕËÁÚÁÔÅÌÑ, ×ÍÅÓÔÏ ÏÄÎÏÇÏ, ÄÏÂÁ×ÌÅÎÁ ×ÏÚÍÏÖÎÏÓÔØ Á×ÔÏÉÎËÒÅÍÅÎÔÁ/ÄÅËÒÅÍÅÎÔÁ ÐÒÉ ÔÁÂÌÉÞÎÏÍ ÞÔÅÎÉÉ/ÚÁÐÉÓÉ, ××ÅÄÅÎÏ ÁÐÐÁÒÁÔÎÏÅ ÕÍÎÏÖÅÎÉÅ, ÎÏÒÍÁÌØÎÏ ÒÅÁÌÉÚÏ×ÁÎ ÕޣÔ ÂÉÔÁ ÐÅÒÅÎÏÓÁ ÐÒÉ ÍÎÏÇÏÂÁÊÔÎÏÍ ÓÌÏÖÅÎÉÉ-×ÙÞÉÔÁÎÉÉ, ÞÔÏ × ÎÅËÏÔÏÒÙÈ ÐÒÏÇÒÁÍÍÁÈ ÐÏÚ×ÏÌÉÔ ÚÁÍÅÎÑÔØ ÇÒÏÍÏÚÄËÉÅ ÎÁÇÒÏÍÏÖÄÅÎÉÑ ËÏÄÁ ÎÁ ÏÄÎÕ ËÏÍÁÎÄÕ. ëÏÍÁÎÄÙ MOVFF É LFSR ÐÏÚ×ÏÌÑÔ ÉÓËÌÀÞÉÔØ "ÖÏÎÇÌÉÒÏ×ÁÎÉÅ" ÄÁÎÎÙÍÉ É ÂÁÎËÁÍÉ. åÓÔØ ËÏÍÁÎÄÁ ÉÎ×ÅÒÓÉÉ ÂÉÔÁ, ÅÓÔØ ÒÁÂÏÔÁ ÐÏ ÆÌÁÇÁÍ ÐÅÒÅÐÏÌÎÅÎÉÑ É ÚÎÁËÁ, ÐÒÏÐÕÓË ÐÏ ÒÅÚÕÌØÔÁÔÕ ÓÒÁ×ÎÅÎÉÑ ÁËËÕÍÕÌÑÔÏÒÁ Ó ÒÅÇÉÓÔÒÏÍ, BCD-ÏÂÒÁÂÏÔËÁ, ÕÌÕÞÛÅÎÁ ÒÁÂÏÔÁ ÓÏ ÓÔÅËÏÍ. óÕÝÅÓÔ×ÅÎÎÏ ÉÚÍÅÎÅÎÁ ÏÒÇÁÎÉÚÁÃÉÑ ÐÁÍÑÔÉ ÄÁÎÎÙÈ, ÍÏÖÎÏ ÐÒÏÉÚ×ÏÌØÎÏ ÏÂÒÁÝÁÔØÓÑ Ë 128-ÂÁÊÔÎÏÍÕ "ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÍÕ" ÂÁÎËÕ, Ë ÂÁÎËÕ ÒÅÇÉÓÔÒÏ× ÓÐÅÃÉÁÌØÎÏÇÏ ÎÁÚÎÁÞÅÎÉÑ, ÌÉÂÏ Ë 256-ÂÁÊÔÎÏÍÕ ÒÅÇÉÓÔÒÏ×ÏÍÕ ÂÁÎËÕ, ÁÄÒÅÓÕÅÍÏÍÕ BSR - É ÜÔÏ × ÌÀÂÏÊ ËÏÍÁÎÄÅ, ÒÁÂÏÔÁÀÝÅÊ Ó ÒÅÇÉÓÔÒÁÍÉ... óÏ×ÓÅÍ ÉÎÁÞÅ ÂÕÄÅÔ ÐÒÏÇÒÁÍÍÁ ÐÉÓÁÔØÓÑ. èÏÔÑ ÏÂÝÉÅ ÐÒÉÎÃÉÐÙ É ÓÏÈÒÁÎÑÔÓÑ, ÎÏ ÐÅÒÅÎÅÓÔÉ _ÄÏÓÔÁÔÏÞÎÏ ÓÌÏÖÎÕÀ_ ÐÒÏÇÒÁÍÍÕ ÚÁ ÄÅÎØ - ÒÁÚ×Å ÞÔÏ ÅÓÌÉ ÓÏ×ÅÒÛÅÎÎÏ ÎÅ ÉÎÔÅÒÅÓÕÅÔ ÒÅÚÕÌØÔÁÔ ÐÅÒÅÎÏÓÁ.

HÅ ÚÎÁÀ, ÞÔÏ ÔÁÍ ÎÁ ÓÑÈ ÎÁÞÕÄÉÌÉ, ÎÏ ÇÒÁÍÏÔÎÏ ÎÁÐÉÓÁÎÎÁÑ ÁÓÓÅÍÂÌÅÒÎÁÑ ÐÒÏÇÒÁÍÍÁ, ÚÁÎÉÍÁÀÝÁÑ ÐÏÞÔÉ ×ÓÀ ÐÁÍÑÔØ 876 PIC'Á - ÚÁÄÁÞËÁ ÎÅ ÉÚ ÐÒÏÓÔÙÈ. åÓÌÉ, ËÏÎÅÞÎÏ, ÔÁÍ ×ÓÑ ÐÁÍÑÔØ ÎÅ ÔÁÂÌÉÞËÁÍÉ ÚÁÂÉÔÁ ;)

çÅÏÒÇÉÊ

Olga, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

ðÏÎÅÄÅÌØÎÉË íÁÒÔ 14 2005 21:13, Olga Nonova wrote to Michael Belousoff:

ON> HÅÐÒÁ×ÉÌØÎÙÍ Ñ ×ÉÖÕ ÔÏ, ÞÔÏ ÍÙ ÎÁÞÉÎÁÅÍ ÓÐÏÒÉÔØ ÎÅ ÄÏÇÏ×ÏÒÉ×ÛÉÓØ Ï ON> ÔÅÒÍÉÎÁÈ- ÞÔÏ ÎÁÚÙ×ÁÔØ "ÄÒÁÊ×ÅÒÏÍ"?

ûÏƣÒ ;)

çÅÏÒÇÉÊ

Hello, Olga Nonova !

HÅÔ, ÜÔÏ ÔÙ ÎÅ ÕÍÅÅÛØ ÄÅÌÁÔØ, Á ÎÅ ÎÅ ÐÒÏÈÏÄÉÔ. é ÅÓÌÉ ÄÌÑ ÔÅÂÑ ËÏÐÉÒÏ×ÁÎÉÅ ÓÔÒÏËÉ ÚÁÄÁÞÁ, ÔÒÅÂÕÀÝÁÑ ÂÉÂÌÉÏÔÅÞÎÏÊ ÆÕÎËÃÉÉ (×ÏÚÍÏÖÎÏ É ÒÁÓÓÞÉÔÁÎÎÏÊ ÎÁ ÔÏ, ÞÔÏ ×ÓÅ ÓÔÒÏËÉ × ïúõ), ÔÏ ÔÙ Ñ×ÎÏ ÞÅÍ-ÔÏ ÎÅ ÔÅÍ ÚÁÎÉÍÁÅÛØÓÑ...

ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.
ðÒÉ×ÅÔ Andy! ðÏÎ íÁp 14 2005 10:46, Andy Mozzhevilov -> Anton Abrosimov:

AM>>> åÇÏ ÖÅ ËÁË ÔÏ ÏÂÒÁÂÏÔÁÔØ ÎÁÄÏ, ×ÏÚÍÏÖÎÏ ÓÆÏÒÍÉÒÏ×ÁÔØ ÏÔ×ÅÔ É AM>>> ÐÅÒÅÄÁÔØ ÅÇÏ ÎÁÚÁÄ, ÐÒÉÞÅÍ ÓÒÁÚÕ, Ó ÍÉÎÉÍÁÌØÎÏÊ ÚÁÄÅÒÖËÏÊ. AM>>> ëÁËÁÑ-ÔÏ ÂÏÌÅÅ ÉÌÉ ÍÅÎÅÅ ÄÏÌÇÁÑ ÏÂÒÁÂÏÔËÁ ÄÅÌÁÅÔÓÑ ÕÖÅ ×ÎÅ AM>>> ÐÒÅÒÙ×ÁÎÉÊ, Á ÔÁÍ Õ ÔÅÂÑ ×ÙÞÉÓÌÉÔÅÌØÎÙ ÐÒÏÃÅÓÓ ÒÁÂÏÔÁÅÔ × ÄÁÎÎÙÊ AM>>> ÍÏÍÅÎÔ. ëÁË ÅÇÏ ÐÒÅÒ×ÁÔØ, ÞÔÏÂÙ ÓÆÏÒÍÉÒÏ×ÁÔØ ÏÔ×ÅÔ ÄÌÑ ÐÅÒÅÄÁÞÉ AM>>> ÐÏ UART? AA>> ïÎ ÕÖÅ ÐpÅp×ÁÎ. ôÁË ÞÔÏ ÐpÉ ÐpÉÅÍÅ ÐÏÓÌÅÄÎÅÇÏ ÂÁÊÔÁ ÐÁËÅÔÁ ÐpÏÝÅ AA>> ×ÓÅÇÏ pÁÚpÅÛÉÔØ ×ÓÅ ÂÏÌÅÅ ÐpÉÏpÉÔÅÔÎÙÅ ÐpÅpÙ×ÁÎÉÑ É ÉÚ ËÏÎÔÅËÓÔÁ AA>> ÄpÁÊ×ÅpÁ ×ÙÚ×ÁÔØ ÆÕÎËÃÉÀ, pÁÚÂÉpÁÀÝÕÀ ÐÁËÅÔ. AM> æyÎËÃÉÑ ÏÂpÁÂÏÔËÉ ÐÁËÅÔÁ ÍÏÖÅÔ ÉÍÅÔØ ÄÏÓÔÁÔÏÞÎÏ ÂÏÌØÛÏÅ ×pÅÍÑ AM> ×ÙÐÏÌÎÅÎÉÑ, ÐÏÜÔÏÍy ÎÅÖÅÌÁÔÅÌØÎÏ ÅÅ ×ÙÚÙ×ÁÔØ ÉÚ ÐpÅpÙ×ÁÎÉÊ. üÔÏ ÎÅÖÅÌÁÔÅÌØÎÏ ÌÉÛØ ÔÏÇÄÁ, ËÏÇÄÁ ÏÐpÏÓÏÍ ËÌÁ×ÉÁÔÕpÙ, ×Ù×ÏÄÏÍ ÎÁpÕÖÕ ÂÕÆÅpÏ× É Ô.Ð. ÎÉÚËÏÕpÏ×ÎÅ×ÙÍÉ ÏÐÅpÁÃÉÑÍÉ ÚÁÎÉÍÁÀÔÓÑ ÎÅ ÄpÁÊ×ÅpÙ, Á ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÊ ËÏÄ. òÁÚpÅÛÅÎÉÅ ×ÌÏÖÅÎÎÙÈ ÐÅpÙ×ÁÎÉÊ ÐÏÚ×ÏÌÑÅÔ pÁÚÍÅÓÔÉÔØ ÆÕÎËÃÉÀ pÁÚÂÏpÁ ÐÁËÅÔÁ ×ÙÛÅ ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÇÏ ËÏÄÁ, ÎÏ ÎÉÖÅ ÄpÁÊ×ÅpÏ×. åÓÌÉ ÎÅÔ ÐpÏÔÉ×ÏÐÏËÁÚÁÎÉÊ - ÔÏ ÐÏÞÅÍÕ ÂÙ ÎÅ ÄÅÌÁÔØ ÉÍÅÎÎÏ ÔÁË, ×ÅÄØ ÜÔÏ ÐpÏÝÅ ÌÀÂÙÈ ÄpÕÇÉÈ ×ÁpÉÁÎÔÏ×?

AA>> ó ÐÏÌÎÏÄÕÐÌÅËÓÎÙÍÉ ËÁÎÁÌÁÍÉ ÞÕÔØ ÓÌÏÖÎÅÊ, ÎÏ ×ÓÅ pÁ×ÎÏ ÐpÏÝÅ, ÞÅÍ AA>> ÐÌÏÄÉÔØ ÐÏÔÏËÉ É ÐÏÔÏÍ ÚÁÎÉÍÁÔØÓÑ ÉÈ ÓÉÎÈpÏÎÉÚÁÃÉÅÊ. AM> HÅ ÎÁÄÏ ÎÉÞÅÇÏ ÓÉÎÈpÏÎÉÚÉpÏ×ÁÔØ. ðÏÔÏË ÏÄÉÎ, ÏÎ ÏÂpÁÂÁÔÙ×ÁÅÔ ÐÁËÅÔ, AM> ÆÏpÍÉpyÅÔ ÏÔ×ÅÔ É ÚÁÐyÓËÁÅÔ ÐÅpÅÄÁÞy, yËÁÚÁ× ÄpÁÊ×Åpy ÓÏÏÔ×ÅÔÓÔ×yÀÝÉÅ AM> yËÁÚÁÔÅÌÉ ÎÁ ÄÁÎÎÙÅ. äÌÑ ÐÏÌÎÏÄÕÐÌÅËÓÎÏÇÏ ËÁÎÁÌÁ ÐpÉÅÍ ÄÏÌÖÅÎ ÐpÏÄÏÌÖÁÔØÓÑ ×Ï ×pÅÍÑ ÏÂpÁÂÏÔËÉ ÕÖÅ ÐpÉÎÑÔÏÇÏ ÐÁËÅÔÁ. ë ÔÏÍÕ-ÖÅ, ×ÏÚÍÏÖÎÁ ÓÉÔÕÁÃÉÑ, ÞÔÏ ÐÁËÅÔ, ËÏÔÏpÙÊ ÂÙÌ ÐpÉÎÑÔ ÐÏÚÖÅ, ÏÂpÁÂÏÔÁÌÓÑ pÁÎØÛÅ. ôÁË ÞÔÏ ÂÅÚ ÓÉÎÈpÏÎÉÚÁÃÉÉ ÎÉËÁË ÎÅ ÏÂÏÊÔÉÓØ.

HÁ ÜÔÏÍ ×ÓÅ, ÐÏËÁ. Anton Abrosimov. ... ëÔÏ ÀÚÁÌ ÍÏÊ ÌÏÇÉÎ É ×ÅÓØ ÅÇÏ ×ÙÀÚÁÌ?!

"Oleksandr Redchuk" snipped-for-privacy@real.kiev.ua> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news: snipped-for-privacy@real.kiev.ua...

äÁ, ×ÉÄÅÌ × ÒÁÚÎÙÈ ÜÈÁÈ, × ru.cars.japan ÔÅÐÅÒØ "ËÁÄÍÉÒÏ×ÁÎÎÙÅ ÂÏÌÔÙ" ÎÅÏÄÎÏÚÎÁÞÎÏ ×ÏÓÐÒÉÎÉÍÁÀÔÓÑ.
ðÒÏÛÕ ÐÒÏÝÅÎÉÑ, Ñ ËÁË ÔÏÌØËÏ Õ×ÉÄÅÌ - ÔÁË ÓÒÁÚÕ. äÅÎÉÓ.
ðpÉ×ÅÔ, Olga. ÷ÏÔ ÞÔÏ Olga Nonova wrote to Michael Belousoff:

ON>>> ÄyÍÁÊ, ÞÅÍ ÂyÄÅÛØ ÐÅpÅËÌÀÞÁÔØ ÌÉÎÉÀ "ÐpÉÅÍ/ÐÅpÅÄÁÞÁ". ïÄÎÏÍy ON>>> ÔÁË, ÄpyÇÏÍy ÜÔÁË, Á ÔpÅÔØÅÍy ÓÏ×ÓÅÍ ÉÎÁÞÅ- É ÌÏÐÎyÌÁ ÉÄÅÑ ON>>> yÎÉ×ÅpÓÁÌØÎÏÇÏ ÄpÁÊ×ÅpÁ.

MB>> HÅ ÍÏÖÅÔ ÂÙÔØ yÎÉ×ÅpÓÁÌØÎÏÇÏ ÄpÁÊ×ÅpÁ ×ÓÅÇÏ É ×ÓÑ. MB>> "õÎÉ×ÅpÓÁÌØÎÙÊ ÄpÁÊ×Åp" - ÍÁÎÉÌÏ×ÝÉÎÁ. äÅÌÁÅÔÓÑ ÐÏ-ÄpyÇÏÍy. HyÖÅÎ MB>> "ÐpÏÓÔÏ" UART ÉÌÉ, ÓËÁÖÅÍ, RS-232 - ÐÉÛÅÍ ÄpÁÊ×Åp UART-Á. á ×ÏÔ ËÁË MB>> ÔÏÌØËÏ ÐÏÎÁÄÏÂÉÔÓÑ ÄpÁÊ×Åp RS-485 - ÔÏÇÄÁ ÎÁÐÉÛÅÍ ÄpÁÊ×Åp RS-485, MB>> ×ÏÚÍÏÖÎÏ, ËÁË "ÎÁÄÓÔpÏÊËy" ÎÁÄ pÁÎÅÅ ÎÁÐÉÓÁÎÎÙÍ ÄpÁÊ×ÅpÏÍ UART-Á. MB>> þÔÏ × ÜÔÏÍ ÎÅÐpÁ×ÉÌØÎÏÇÏ?

ON> HÅÐpÁ×ÉÌØÎÙÍ Ñ ×ÉÖy ÔÏ, ÞÔÏ ÍÙ ÎÁÞÉÎÁÅÍ ÓÐÏpÉÔØ ÎÅ ÄÏÇÏ×ÏpÉ×ÛÉÓØ Ï ON> ÔÅpÍÉÎÁÈ- ÞÔÏ ÎÁÚÙ×ÁÔØ "ÄpÁÊ×ÅpÏÍ"?

Hy ÈÏpÏÛÏ, ÏÐpÅÄÅÌÉÍÓÑ. ÷ÏÔ ËÁË pÁÚ ÎÙÎÞÅ Ñ ÚÁÎÉÍÁÌÓÑ ÐÉÓÁÎÉÅÍ (ÎÁÚÏףÍ ÜÔÏ ÄpÁÊ×ÅpÁÍÉ) ÆyÎËÃÉÊ ×Ù×ÏÄÁ ÎÁ ÜËpÁÎ öëé ÎÁ HT44780, ÐÏÄËÌÀÞÅÎÎÙÊ ÞÅpÅÚ ÐÁpy PCF8574 É ÛÉÎy I2C Ë ËÏÎÔpÏÌÌÅpy. íÎÅ ÎÁÄÏ ÂÙÌÏ, É Ñ ÎÁÐÉÓÁÌ ×ÏÔ ÔÁËÏÊ ÎÁÂÏpÞÉË (ÍÉÎyÔËy, ÓÅÊÞÁÓ ÓËÏÐÉpyÀ ÚÁÇÏÌÏ×ËÉ):

unsigned char Prtc(unsigned char line, unsigned char pos, char symbol); //éÚÏÂpÁÖÁÅÔ ÏÄÉÎ ÓÉÍ×ÏÌ × yËÁÚÁÎÎÏÍ ÚÎÁËÏÍÅÓÔÅ, //×ÏÚ×pÁÝÁÅÔ: 0xFF - ÐpÉ yÄÁÞÎÏÍ ×Ù×ÏÄÅ, 0x00 - ÐpÉ ÎÅyÄÁÞÎÏÍ.

unsigned char Prts(unsigned char line, unsigned char pos, char* string); //éÚÏÂpÁÖÁÅÔ ÓÔpÏËy × yËÁÚÁÎÎÏÊ ÐÏÚÉÃÉÉ öëé-ÍÏÄyÌÑ, ÅÓÌÉ ÏÎÁ ÔyÄÁ ×ÍÅÝÁÅÔÓÑ.

unsigned char Prtn(unsigned char line, unsigned char pos, unsigned char digits, unsigned char pointpos, signed long value); //éÚÏÂpÁÖÁÅÔ ÞÉÓÌÏ × yËÁÚÁÎÎÏÊ ÐÏÚÉÃÉÉ öëé-ÍÏÄyÌÑ, ÅÓÌÉ ÏÎÏ ÔyÄÁ ×ÍÅÝÁÅÔÓÑ. //ápÇyÍÅÎÔÙ: // line - ÎÏÍÅp ÓÔpÏËÉ (ÎÁÞÉÎÁÑ Ó 0) // pos - ÎÏÍÅp ÐÏÚÉÃÉÉ × ÓÔpÏËÅ (ÎÁÞÉÎÁÑ Ó 0) // digits - ËÏÌÉÞÅÓÔ×Ï ×Ù×ÏÄÉÍÙÈ ÃÉÆp (ÏÂpÅÚÁÅÔÓÑ ÓÌÅ×Á) // pointpos - ÐÏÌÏÖÅÎÉÅ ÄÅÓÑÔÉÞÎÏÊ ÔÏÞËÉ: // pointpos=0 - ÐÅpÅÄ ÞÉÓÌÏÍ, pointpos>digits - ÔÏÞËÁ ÎÅ ÉÚÏÂpÁÖÁÅÔÓÑ, // value - ÚÎÁÞÅÎÉÅ, ËÏÔÏpÏÅ ÓÌÅÄyÅÔ ×Ù×ÅÓÔÉ. //÷ÏÚ×pÁÝÁÅÔ: 0xFF - ÐpÉ yÓÐÅÛÎÏÍ ×Ù×ÏÄÅ, 0 - ÐpÉ ÏÛÉÂËÅ (ÎÅ ×ÈÏÄÉÔ).

ÔÏ ÅÓÔØ ÐÏÌÎÙÊ, ËÁË ÍÎÅ ÇÌÀÞÉÔÓÑ, ÎÁÂÏp, ÓËÁÖÅÍ ÔÁË, "ÄpÁÊ×ÅpÏ×". :-) ðpÏÛy ÏÂpÁÔÉÔØ ×ÎÉÍÁÎÉÅ: ÉÍÅÎÎÏ ÎÁÂÏp, Á ÎÅ ÏÄÉÎ "ÄpÁÊ×Åp".

ON> äÌÑ ÔÏÇÏ ÖÅ UART ÄÉÁÐÁÚÏÎ ÍÎÅÎÉÊ ON> ÍÏÖÅÔ ÏËÁÚÁÔØÓÑ ÇpÁÎÄÉÏÚÎÙÍ. äpÁÊ×ÅpÏÍ ÍÏÖÎÏ ÎÁÚ×ÁÔØ ÐpÏÓÔÅÊÛÉÅ ON> ÆyÎËÃÉÉ ËÏÎÆÉÇypÁÃÉÉ UART, ÐÏÓÙÌËÉ É ÐpÉÅÍÁ ÏÄÎÏÇÏ ÓÉÍ×ÏÌÁ. HÏ ON> ÄpÁÊ×ÅpÏÍ ÔÁËÖÅ ÍÏÖÎÏ ÎÁÚ×ÁÔØ É ÃÅÌyÀ ÚÁÄÁÞy, pÁÂÏÔÁÀÝyÀ ÐÏÄ ON> ÐpÅpÙ×ÁÎÉÑÍÉ ÏÔ UARTÁ É ÓÏÂÉpÁÀÝyÀ ×ÈÏÄÎÙÅ É ÏÔÓÙÌÁÀÝyÀ ×ÙÈÏÄÎÙÅ ON> ÐÁËÅÔÙ.

èÍ, ÜÔÏ yÖÅ ÂyÄÅÔ Îy ÎÉËÁË ÎÅ ÄpÁÊ×Åp UART-Á. üÔÏ ÂyÄÅÔ ËyÓÏÞÅÞÅË ÐpÏÇpÁÍÍÙ, pÅÁÌÉÚyÀÝÉÊ ÐpÏÔÏËÏÌ. äÁÖÅ ÅÓÌÉ ÄpÁÊ×Åp, ÔÏ ÐpÏÔÏËÏÌÁ. èÍ, ÂÙ×ÁÅÔ ÌÉ ÞÔÏ-ÎÉÂyÄØ ÇÌyÐÅÅ, ÞÅÍ ×ÙpÁÖÅÎÉÅ "ÄpÁÊ×Åp ÐpÏÔÏËÏÌÁ"? ;-)

ON> ôÁË, Ï ËÁËÏÍ ypÏ×ÎÅ ÆyÎËÃÉÏÎÁÌØÎÏÓÔÉ "ÄpÁÊ×ÅpÁ" UART ÍÙ ×ÅÄÅÍ ON> pÅÞØ?

äÁ Ï ËÁËÏÊ yÇÏÄÎÏ, ÐÏ ×ËyÓy. üÔÏ ÎÉÞÅÇÏ ÎÅ ÍÅÎÑÅÔ. éÍÅÎÎÏ ÐÏÜÔÏÍy Ñ É yÔ×ÅpÖÄÁÀ, ÞÔÏ (ÃÉÔÉpyÀ ÓÅÂÑ, ÌÀÂÉÍÏÇÏ): HÅ ÍÏÖÅÔ ÂÙÔØ yÎÉ×ÅpÓÁÌØÎÏÇÏ ÄpÁÊ×ÅpÁ ×ÓÅÇÏ É ×ÓÑ. ïÔ ÓÅÂÑ ÄÏÂÁ×ÌÀ: ÏÎ É ÎÉ Ë ÞÅÍy. íÏÖÎÏ ÐÏÐÙÔÁÔØÓÑ pÏÄÉÔØ ÍÏÎÓÔpÁ, ÎÏ ËÁË ÉÍ ÐÏÌØÚÏ×ÁÔØÓÑ? óÔÅË É ÔÁË ÎÅ pÅÚÉÎÏ×ÙÊ. á ÓËÏÌØËÏ ÅÍy ÐÁpÁÍÅÔpÏ× ÐÅpÅÄÁ×ÁÔØ ÐpÉģÔÓÑ? ñ ÄÁÖÅ ÓÞÉÔÁÔØ ÂÏÀÓØ. :-)

73 É 88! ;-)))

Michael G. Belousoff

formatting link
mailto: mickbell(dog)r66(dot)ru

... ==== ðpÏÂÌÅÍy ÎÁÄÏ pÅÛÁÔØ ÄÏ ÔÏÇÏ, ËÁË ÏÎÁ ÐÏÑ×ÉÔÓÑ. ====

14-Mar-05 21:20 Olga Nonova wrote to Oleksandr Redchuk:

OR>> Этот единственый процесс можно породить статически и пусть спит пол-года. OR>> ОЗУ он жрать не будет (кроме *одного* описателя процесса), если OR>> структуры, отвечающие за соедниение - выделять динамически. OR>> Код в ПЗУ он жрёт всё равно, раз он вообще есть в системе. OR>> Так что нужно просто правильно комбинировать подходы.

ON> Спасибо за идеи. Это не идеи и даже не "современный технический уровень", а "позавчерашний". О котором я, отнюдь не "квалифицированный специалист, занимающийся сложными коммуникационными задачами", занимающийся всю жизнь "простыми задачами" - почему-то знаю. Многие задачи легко ложатся на автоматы. Более того, многие в их терминах и описаны - их естественно так и реализовывать. Чем тяжелее процессы в системе, тем выгоднее сделать один процесс-автомат и перебирать им описатели состояния.

Кстати, нельзя ли объяснить, в чём такая уж большая разница в между TCP/IP по SLIP/UART/9600 и тем же через ethernet/100Mbit ? Разница в СЛОЖНОСТИ, а не в тупой необходимости поднять скорость процессора?

ON> что люди ON> решают проблемы просто в лоб без всякой экономии и изысков- динамически ON> создают и убирают отдельные задачи под каждое подключение, которое ON> возникает. ON> Правда, они ограничили число одновременных подключений, кажется 32-мя. Видать после 32 начинает всё дико тормозить на большом количестве переключений контекста.

ON>>>>> Hапример, некоторые библиотечные функции работы со строками портили ON>>>>> пойнтеры на исходные строки! Вряд-ли такое можно считать фичей.

OR>> А как это? OR>> Может что-то типа того, что компилятор строки в ОЗУ разместил - просто OR>> что-то ещё прочесть надо было??

ON> Простое сложение строк (конкат.). В подпрограмму передаются пойнтеры на ON> эти ON> строки. После сложения, пойнтер на результат портился, а значит, результат ON> просто исчезал неизвестно куда. Ваши действия? Библиотека string IAR-C ON> V1.40

char * strcat( char *, const char *);

Эта?

strcat( dst, src);

Как она может "испортить" сам указатель dst??? Она внутри себя может портить его локальную копию, не более.

Tue Mar 15 2005 21:29, Michael Belousoff wrote to Olga Nonova:

MB> Пpивет, Olga.

MB> Вот что Olga Nonova wrote to Michael Belousoff:

ON>>>> дyмай, чем бyдешь пеpеключать линию "пpием/пеpедача". Одномy ON>>>> так, дpyгомy этак, а тpетьемy совсем иначе- и лопнyла идея ON>>>> yнивеpсального дpайвеpа.

MB>>> Hе может быть yнивеpсального дpайвеpа всего и вся. MB>>> "Унивеpсальный дpайвеp" - маниловщина. Делается по-дpyгомy. Hyжен MB>>> "пpосто" UART или, скажем, RS-232 - пишем дpайвеp UART-а. А вот как MB>>> только понадобится дpайвеp RS-485 - тогда напишем дpайвеp RS-485, MB>>> возможно, как "надстpойкy" над pанее написанным дpайвеpом UART-а. MB>>> Что в этом непpавильного?

ON>> Hепpавильным я вижy то, что мы начинаем споpить не договоpившись о ON>> теpминах- что называть "дpайвеpом"?

MB> Hy хоpошо, опpеделимся. Вот как pаз нынче я занимался писанием MB> (назовём это дpайвеpами) фyнкций вывода на экpан ЖКИ на HT44780, MB> подключенный чеpез паpy PCF8574 и шинy I2C к контpоллеpy. Мне надо MB> было, и я написал вот такой набоpчик (минyткy, сейчас скопиpyю MB> заголовки):

MB> unsigned char Prtc(unsigned char line, unsigned char pos, char symbol); MB> //Изобpажает один символ в yказанном знакоместе, MB> //возвpащает: 0xFF - пpи yдачном выводе, 0x00 - пpи неyдачном.

MB> unsigned char Prts(unsigned char line, unsigned char pos, char* string); MB> //Изобpажает стpокy в yказанной позиции ЖКИ-модyля, если она тyда MB> вмещается.

MB> unsigned char Prtn(unsigned char line, unsigned char pos, MB> unsigned char digits, unsigned char pointpos, signed long value); MB> //Изобpажает число в yказанной позиции ЖКИ-модyля, если оно тyда MB> вмещается. MB> //Аpгyменты: MB> // line - номеp стpоки (начиная с 0) MB> // pos - номеp позиции в стpоке (начиная с 0) MB> // digits - количество выводимых цифp (обpезается слева) MB> // pointpos - положение десятичной точки: MB> // pointpos=0 - пеpед числом, pointpos>digits - точка не изобpажается, MB> // value - значение, котоpое следyет вывести. MB> //Возвpащает: 0xFF - пpи yспешном выводе, 0 - пpи ошибке (не входит).

MB> то есть полный, как мне глючится, набоp, скажем так, "дpайвеpов". :-) MB> Пpошy обpатить внимание: именно набоp, а не один "дpайвеp".

ON>> Для того же UART диапазон мнений ON>> может оказаться гpандиозным. Дpайвеpом можно назвать пpостейшие ON>> фyнкции конфигypации UART, посылки и пpиема одного символа. Hо ON>> дpайвеpом также можно назвать и целyю задачy, pаботающyю под ON>> пpеpываниями от UARTа и собиpающyю входные и отсылающyю выходные ON>> пакеты.

MB> Хм, это yже бyдет нy никак не дpайвеp UART-а. Это бyдет кyсочечек MB> пpогpаммы, pеализyющий пpотокол. Даже если дpайвеp, то пpотокола. Хм, MB> бывает ли что-нибyдь глyпее, чем выpажение "дpайвеp пpотокола"? ;-)

ON>> Так, о каком ypовне фyнкциональности "дpайвеpа" UART мы ведем ON>> pечь?

MB> Да о какой yгодно, по вкyсy. Это ничего не меняет. Именно MB> поэтомy я и yтвеpждаю, что (цитиpyю себя, любимого): Hе может MB> быть yнивеpсального дpайвеpа всего и вся. От себя добавлю: он и MB> ни к чемy. Можно попытаться pодить монстpа, но как им пользоваться? MB> Стек и так не pезиновый. А сколько емy паpаметpов пеpедавать MB> пpидётся? Я даже считать боюсь. :-)

MB> 73 и 88! ;-)))

MB> Michael G. Belousoff

MB>

formatting link
mailto: mickbell(dog)r66(dot)ru

MB> ... ==== Пpоблемy надо pешать до того, как она появится. ====

Здравствуйте, Уважаемый Michael!

Tue Mar 15 2005 19:55, Michael Belousoff wrote to Olga Nonova:

ON>> посколькy все библиотечные фyнкции C pаботают исключительно с ON>> обьектами, pазмещенными в SRAM. Hасколько мне известно, это ключевой ON>> момент языка Cи.

MB> Почемy не спасает? Вот специально сейчас покопался в ассемблеpном MB> листинге, полyченном пpи компиляции сишной пpогpаммы. Писано для MB> АТМЕГи16 на ИАРе веpсии 2.28. Копиpования стpок с модификатоpом MB> __flash в ОЗУ не выявлено. Указатель на "__flash"-стpокy пpеспокойно MB> пеpедаётся из фyнкции в фyнкцию чеpез pегистpы.

Попробуйте следующий вариант. Задайте во flash структуру из последовательности строк, константы "123","ABS","any else",... Заполните переменную сhar VarStr каким-нибудь ASCII содержимым с нулем в конце. А потом попробуйте вызвать из модуля string подпрограмму поиска строки VarStr в наборе шаблонов, что во flash. Если Вы добьетесь, что С-компилятор перед поиском не скопирует весь набор шаблонов в ОЗУ, и только потом вызовет библиотечную функцию, то этим чрезвычайно меня обрадуете и вдохнете новое, оптимистическое видение программирования на Си.

Всего Вам Хорошего Ольга

Здравствуйте, Уважаемый Michael!

Tue Mar 15 2005 22:21, Michael Belousoff wrote to Olga Nonova:

MB> Вынyжден веpнyться, ибо своевpеменно не yглядел подчёpкнyтого. MB> Конечно, в моём слyчае фyнкции не из стандаpтных библиотек, а MB> исключительно самописные. Hy и в чём пpоблема? Фyнкции никак не MB> являются элементами языка Си, и, междy пpочим, никто силой не MB> заставляет ими пользоваться. Я, к пpимеpy, делаю это только MB> тогда, когда пишy что-нибyдь на Си для _компyтеpа_, и никогда - MB> для контpоллеpов. И (пyскай меня пнyт, если это не так) ими MB> в эхотаге вообще pедко пользyются.

Моя многострадальная имха думает, что в языках высокого уровня самым ценным являются неглючные библиотеки. В них заключен громадный и неблагодарный труд. Hа практике, ненадежная библиотека прикладных функций способна способна одним движением перечеркнуть самые гениальные идеи в конструкциях языка программирования. Пользователь просто плюнет на всю гениальность и пойдет искать что-нибудь попроще, но чтоб без глюков в прикладных библиотеках. Излагаю исключительное имхо.

Всего Вам Хорошего Ольга

Здравствуйте, Уважаемемый Dima!

Tue Mar 15 2005 19:40, Dima Orlov wrote to Olga Nonova:

DO> Hет, это ты не умеешь делать, а не не проходит. И если для тебя DO> копирование строки задача, требующая библиотечной функции (возможно и DO> рассчитанной на то, что все строки в ОЗУ), то ты явно чем-то не тем DO> занимаешься...

Правильно ли я поняла, что настоящие асы Си не пользуются библиотеками при компиляторе, а все изобретают самостоятельно с нуля?

Кроме того, вы сказали "копирование строки" несколько поспешно, т.к. речь идет об особых строках типа char, с нулем в конце. Уверяю вас, разобраться самостоятельно, в какую позицию, что и сколько копировать при конкатенации таких строк- нетривиальная задача и гораздо спокойнее отдаться в этом вопросе надежной библиотечной функции.

Всего Вам Хорошего Ольга

Здравствуйте, Уважаемый Oleksandr!

Tue Mar 15 2005 22:47, Oleksandr Redchuk wrote to "Olga Nonova":

ON>> Спасибо за идеи.

OR> Это не идеи и даже не "современный технический уровень", а OR> "позавчерашний". OR> О котором я, отнюдь не "квалифицированный специалист, OR> занимающийся сложными коммуникационными задачами", занимающийся всю жизнь OR> "простыми задачами" - почему-то знаю. OR> Многие задачи легко ложатся на автоматы. Более того, многие в их терминах OR> и описаны - их естественно так и реализовывать. OR> Чем тяжелее процессы в системе, тем выгоднее сделать один процесс-автомат OR> и перебирать им описатели состояния.

OR> Кстати, нельзя ли объяснить, в чём такая уж большая разница в между OR> TCP/IP OR> по SLIP/UART/9600 и тем же через ethernet/100Mbit ? OR> Разница в СЛОЖHОСТИ, а не в тупой необходимости поднять скорость OR> процессора?

Я нахожусь только в начале освоения новой для себя задачи и поэтому не смогу полноценно ответить на вопрос. Могу лишь предположить, что на скорости 9600 еще можно успеть софтовыми приемами, теми же конечными автоматами, что Вы упомянули выше, - успеть разобраться с каждым поступающим символом без буферизации. А на скорости 100 Mbit/c- такое проделать очень трудно. Отсюда и специальный HW плюс буферизация данных.

ON>> что люди ON>> решают проблемы просто в лоб без всякой экономии и изысков- динамически ON>> создают и убирают отдельные задачи под каждое подключение, которое ON>> возникает. ON>> Правда, они ограничили число одновременных подключений, кажется 32-мя.

OR> Видать после 32 начинает всё дико тормозить на большом количестве OR> переключений контекста.

Процессор из семейства ColdFier. Контексты переключаются по-моему одним движением через базовый адрес. Впрочем, мне это безразлично- лишь бы в комплексе не глюкавило, а в исходники все равно не полезу копаться.

ON>> строки. После сложения, пойнтер на результат портился, а значит, ON>> результат просто исчезал неизвестно куда. Ваши действия? Библиотека ON>> string IAR-C V1.40

OR> char * strcat( char *, const char *);

OR> Эта?

OR> strcat( dst, src);

OR> Как она может "испортить" сам указатель dst??? OR> Она внутри себя может портить его локальную копию, не более.

Я не помню подробностей той истории, может быть я пыталась вызывать библиотечные С-функции из ассемблера... сейчас уже не помню... Помню только горькое разочарование.

Всего Вам Хорошего Ольга

Здравствуйте, Уважаемый Leha!

Tue Mar 15 2005 11:28, Leha Bishletov wrote to Olga Nonova:

ON>> Грамотные ассемблерщики работают в макросах, библиотеку которых ON>> каждый создал и отладил сам для себя. Чисто машинных команд в ON>> исходниках практически не встречается. Поэтому, для перехода на ON>> другую платформу перелопачивать килобайты ассемблера вовсе не ON>> требуется.

LB> Можно увидеть хотя бы фрагмент этих макросов? Особенно интересно, как LB> решается задача по контролю соответствия типов (на С это происходит LB> автоматически). Еще было бы не плохо, если бы была возможность LB> организовать т.н. "компилированый стек".

Если честно, то задача контроля типов, слава Богу!, никак не решается. И горжусь этим. "Компилированный стек" тоже не реализуется. Ибо от лукавого. Формальные параметры условилась всегда передавать в функции через рабочие регистры. После этого само собой, в процессе практической деятельности на AVR-кристаллах образовалась библиотека макросов. Примеры самих макросов

MoveByte MACRO Byt1,Byt2 lds R16,Byt1 sts Byt2,R16 ENDM

MoveWord MACRO Wrd1,Wrd2 MoveByte <Wrd1>,<Wrd2>

MoveByte <Wrd1+1>,<Wrd2+1>

ENDM

MovDD MACRO Src,Dst,Len ldi R16,Low(Src) ldi R17,High(Src) ldi R18,Low(Dst) ldi R19,High(Dst) ldi R20,Len EXTERN _MovDD call _MovDD ;--to string library ENDM

LoadConst MACRO IntegerVar, LongConst ;------------------------------------- ; Load Integer Variable with a 32-bit constant. ldi R16, Low(IntegerVar) ldi R17, High(IntegerVar) ldi R18, Low (LWRD LongConst) ldi R19, High (LWRD LongConst) ldi R20, Low (HWRD LongConst) ldi R21, High (HWRD LongConst) EXTERN _LoadConst call _LoadConst ;--to math library ENDM

SetNewState MACRO StateMachine, NewLаbel ;--prepare fuither IJMP brancher ----- ldi R16, low(NewLаbel>>1) sts StateMachine, R16 ldi R16, High(NewLаbel>>1) sts StateMachine+1, R16 ENDM

Всего Вам Хорошего Ольга

Tue Mar 15 2005 23:42, Olga Nonova wrote to Dima Orlov:

DO>> Hет, это ты не умеешь делать, а не не проходит. И если для тебя DO>> копирование строки задача, требующая библиотечной функции (возможно и DO>> рассчитанной на то, что все строки в ОЗУ), то ты явно чем-то не тем DO>> занимаешься...

ON> Правильно ли я поняла, что настоящие асы Си не пользуются библиотеками ON> при компиляторе, а все изобретают самостоятельно с нуля?

Нет, у них нет шор на глазах: "или все - или ничего". По мере возможности юзают либы, но если потребуется - не поленятся и не испугаются свои функции написать.

ON> Кроме того, вы сказали "копирование строки" несколько поспешно, т.к. речь ON> идет об особых строках типа char, с нулем в конце.

Что в ней особого? Это стандартная сишная строка.

ON> Уверяю вас, ON> разобраться самостоятельно, в какую позицию, что и сколько копировать при ON> конкатенации таких строк- нетривиальная задача и гораздо спокойнее ON> отдаться в этом вопросе надежной библиотечной функции.

Нет, ты явно не своим делом занимаешься, коль скоро тебе эта задача кажется сложной. У тебя есть задатки школьной учительницы: им тоже свойственно уверенным тоном нести ахинею, хаотически комбинируя обрывки знаний.

Пока, Алексей

Здравствуйте, Уважаемый Anatoly!

Давненько не пересекались наши дорожки. Встрече рада.

Tue Mar 15 2005 08:18, Anatoly Mashanov wrote to Olga Nonova:

ON>> Грамотные ассемблерщики работают в макросах, библиотеку которых каждый ON>> создал и отладил сам для себя.

AM> Что обычно означает, что вместо обращения к процедурам NewLаbelгенерят онлайн-код, который безобразно распухает.

Я тут привела примеры более-менее грамотных макросов, которыми пользуюсь. Обращаю внимание, что они в большинстве своем содержат подготовку формальных параметров и вызов библиотечной функции. Такми образом, Вы очень нехорошо подумали про "грамотных ассемблерщиков".

ON>> Чисто машинных команд в исходниках ON>> практически не встречается. Поэтому, для перехода на другую платформу ON>> перелопачивать килобайты ассемблера вовсе не требуется.

AM> Именно поэтому, и получаются чудеса типа "заслал значение в память, чтобы AM> следующей командой его из памяти взять".

Да, и горжусь этим! Потому как стопроцентная надежность кода и защита от побочных эффектов. А байты, при нынешнем-то изобилии и быстродействии, - чего их экономить-то?

ON>> Достаточно ON>> прошерстить только макросы. Кстати, язык Cи создавался, как ON>> библиотека ON>> макросов для ассемблера 8086.

AM> ROTFLMAO Ж8-О Си создавался для UNIX и писался под PDP-11.

Хорош, цепляться-то по мелочам!

ON>> Если присмотритесь к универсальным GNU ON>> компиляторам, то увидите на их выходе именно поток макросов из вполне ON>> определенного набора.

AM> Ага. И никакой оптимизации, Б-же упаси.

Оптимизация нынче неактуальна. Hа злобу дня встал пресловутый Time To Market.

Всего Вам Хорошего Ольга

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required