<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marco+m</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marco+m"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Marco_m"/>
	<updated>2026-04-10T10:56:03Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Bitmanipulation_-_Standard_C_-_DeMorgan_Umformung&amp;diff=68746</id>
		<title>Bitmanipulation - Standard C - DeMorgan Umformung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Bitmanipulation_-_Standard_C_-_DeMorgan_Umformung&amp;diff=68746"/>
		<updated>2012-10-15T11:30:14Z</updated>

		<summary type="html">&lt;p&gt;Marco m: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das Theorem von [http://de.wikipedia.org/wiki/De_Morgan%E2%80%99sche_Gesetze De Morgan] besagt, dass sich die Aussage einer binären, logischen Verknüpfung umkehrt (invertiert), wenn man die Eingangsgrößen invertiert und die Verknüpfung von UND nach ODER bzw. ODER nach UND ändert. Dieses Gesetz nutzt man oft bei der logischen Minimierung von Schaltgleichungen oder zur Umwandlung in einheitliche Verknüpfungen (z.B. alle Gatter in einer Schaltung in NAND-Gatter umwandeln). Im Softwarebereich wird sie eher selten verwendet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
   a  &amp;amp;  b  ==  c;    // Original mit UND-Verknüpfung  &lt;br /&gt;
!( a  &amp;amp;  b) == !c;    // invertiert&lt;br /&gt;
  !a  | !b  == !c     // Invertierung aufgelöst  &lt;br /&gt;
&lt;br /&gt;
   a  |  b  ==  c;    // Original mit ODER-Verknüpfung  &lt;br /&gt;
 !(a  |  b) == !c;    // invertiert    &lt;br /&gt;
  !a  &amp;amp; !b  == !c     // Invertierung aufgelöst&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei folgendem Code mit binären Präfixen handelt es sich &#039;&#039;nicht&#039;&#039; um Standard-C, sondern um eine häufig implementierte Erweiterung. Der GNU C/C++ Compiler unterstützt sie seit Version 4.3, genauso wie etwa CLANG und SDCC. Alle aktuellen, auf GCC basierenden Toolchains (AVRGCC,Arduino,MSP430-GCC usw.) sollten diese Erweiterung inzwischen unterstützen.&lt;br /&gt;
&lt;br /&gt;
Wichtiger Hinweis: Die ODER/UND-Verknüpfung und die anschliessende Invertierung kann man nicht vertauschen, darum sind auch die Klammern wichtig! Bei der Verknüpfung von [[Bitmanipulation|Bitmustern]] ist zu beachten, dass die Verknüpfung bitweise erfolgt, im Gegensatz zur logischen Verknüpung im 1. Beispiel, wo sie für den logischen Wert insgesamt erfolgt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
 ~(0b0001 |  0b0010) == 0b1100&lt;br /&gt;
  ~0b0001 &amp;amp; ~0b0010  == 0b1100&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:C]]&lt;/div&gt;</summary>
		<author><name>Marco m</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Parallax_Propeller&amp;diff=68673</id>
		<title>Parallax Propeller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Parallax_Propeller&amp;diff=68673"/>
		<updated>2012-10-10T13:10:04Z</updated>

		<summary type="html">&lt;p&gt;Marco m: +PropellerGCC, +Erklärung Speicher&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der &#039;&#039;&#039;Propeller&#039;&#039;&#039; von Parallax ist ein Mikrocontroller, der acht 32-Bit Prozessorkerne (genannt COG) enthält. Die Idee dahinter ist, dass statt spezialisierten IO-Komponenten (Timer, PWM, UART) einer der Kerne diese Aufgabe übernehmen kann, was mehr Flexibilität erlaubt, da man nicht auf die Funktionen angewiesen ist, die der Hersteller eingebaut hat. Die Kerne kommunizieren über einen gemeinsamen 32kb großen Speicherbereich, den Hub-RAM, auf den von allen Kernen reihum zugegriffen werden darf. Jeder Kern hat ausserdem einen eigenen, 2kb großen Speicherbereich, den COG-RAM, auf den der Kern exklusiven Zugriff hat. Maschinen-Code muß im COG-RAM des jeweiligen Kerns liegen um direkt ausgeführt zu werden.&lt;br /&gt;
&lt;br /&gt;
Der Propeller besitzt einen internen Oszillator, kann jedoch auch extern mit Takt versorgt werden. Beide Taktquellen lassen sich durch die interne PLL vervielfachen. Somit kann der Chip mit bis zu 80 MHz (5 MHz * 16-fach PLL) stabil betrieben werden. Ein Übertakten des Chips ist in Grenzen möglich. Ein nettes Feature ist die Möglichkeit, die PLL mitten im Betrieb zu verändern. Dadurch steht bei Bedarf viel Rechenleistung zur Verfügung, in Ruhephasen dagegen kann der Stromverbauch optimiert werden.&lt;br /&gt;
&lt;br /&gt;
Programmieren kann man den Propeller in Assembler und mit der Sprache &#039;&#039;&#039;Spin&#039;&#039;&#039;, die von einem im ROM des Controllers enthaltenen Interpreter ausgeführt wird. Im internen ROM sind noch weitere Daten, wie z.&amp;amp;nbsp;B. Fonts, 16-Bit Sinus- und Log-Tabellen enthalten. Der Sourcecode für den Spin-Intepreter ist [http://forums.parallax.com/forums/default.aspx?f=25&amp;amp;m=252691 hier] frei verfügbar. Eine kostenlose IDE (&amp;quot;Propeller Tool&amp;quot;) kann von der Parallax-Webseite runtergeladen werden, sie ist sowohl für Assembler wie auch für Spin geeignet. &lt;br /&gt;
&lt;br /&gt;
Parallax bietet ausserdem auf seiner Seite die Beta von &#039;&#039;&#039;Propeller GCC&#039;&#039;&#039; an, einem Port von GCC 4.6.1 inkl. einer einfachen IDE für Windows, Linux und OSX. Der Compiler erzeugt Maschinencode für die Propeller-CPU, der transparent aus dem COG-RAM, HUB-RAM sowie externen Speichermedien (EEPROM,SD-Card usw.) ausgeführt werden kann.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikrocontroller]]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=%2Bparallax+%2Bpropeller Beiträge im Forum]&lt;br /&gt;
* [http://forums.parallax.com/forums/default.aspx?f=25 Support-Forum von Parallax (en)]&lt;br /&gt;
* [http://parallax.com/tabid/442/Default.aspx Propeller-Downloads (en)]&lt;br /&gt;
* [https://sites.google.com/site/propellergcc/ Propeller GCC (en)]&lt;br /&gt;
* [http://obex.parallax.com/ Propeller Object Exchange (en)]&lt;br /&gt;
* [http://www.hive-project.de Retro-Style-Computerbausatz auf der Basis von Propeller-Chips (de)]&lt;/div&gt;</summary>
		<author><name>Marco m</name></author>
	</entry>
</feed>