<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Register Level Programming under CeWin RealTime OS in Driver Development Kit (DDK)</title>
    <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Register-Level-Programming-under-CeWin-RealTime-OS/m-p/335204#M488</link>
    <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Hello everybody,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;I'm using the RealTime OS CeWin from KukaControls to access an E-Series NI DAQ Card.&lt;/DIV&gt;
&lt;DIV&gt;I've read the Register Programming Manual and the STC Technical Reference Manual, but it doesn't seem to work. Here's my simple C++ example:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;#define STC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BaseAddressSTC&lt;BR /&gt;#define MITE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BaseAddressMITE&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;class CNICard&lt;BR /&gt;{&lt;BR /&gt;public:&lt;BR /&gt;&amp;nbsp;char PCIInit();&lt;BR /&gt;&amp;nbsp;void WriteByte(DWORD Addr, WORD Offset, BYTE Data);&lt;BR /&gt;&amp;nbsp;BYTE ReadByte(DWORD Addr, WORD Offset);&lt;BR /&gt;&amp;nbsp;WORD ReadWord(DWORD Addr, WORD Offset);&lt;BR /&gt;&amp;nbsp;void WriteWord(DWORD Addr, WORD Offset, WORD Data);&lt;BR /&gt;&amp;nbsp;DWORD ReadDWord(DWORD Addr, WORD Offset);&lt;BR /&gt;&amp;nbsp;void WriteDWord(DWORD Addr, WORD Offset, DWORD Data);&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;void DOTest();&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;private:&lt;BR /&gt;&amp;nbsp;DWORD BaseAddressSTC;&lt;BR /&gt;&amp;nbsp;DWORD BaseAddressMITE;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;};&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;char CNICard::PCIInit()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;BOOL&amp;nbsp;&amp;nbsp;&amp;nbsp;Result;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp;VirtAddress;&lt;BR /&gt;&amp;nbsp;CEWINPCIINFO&amp;nbsp;PciInfo;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp;&amp;nbsp;BaseAddressBAR0;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp;&amp;nbsp;BaseAddressBAR1;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp; Reg;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp; Value;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;Result = CeWinPciGetInfo(NIDAQ_NAME, &amp;amp;PciInfo);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!Result)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;return 1;&lt;BR /&gt;&amp;nbsp;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;//Mapping of BAR0&lt;BR /&gt;&amp;nbsp;VirtAddress = CeWinPciMapMemory(&amp;amp;PciInfo, NIDAQ_MEM_INDEX_BAR0);&lt;BR /&gt;&amp;nbsp;if (VirtAddress == 0)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;return 1;&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;BaseAddressBAR0 = (volatile) VirtAddress;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;//Mapping of&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;BAR1&lt;BR /&gt;&amp;nbsp;VirtAddress = CeWinPciMapMemory(&amp;amp;PciInfo, NIDAQ_MEM_INDEX_BAR1);&amp;nbsp;&lt;BR /&gt;&amp;nbsp;if (VirtAddress == 0)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;return 1;&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;BaseAddressBAR1 = (volatile) VirtAddress;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;BaseAddressMITE = BaseAddressBAR0;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;BaseAddressSTC = BaseAddressBAR1;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;WriteDWord(MITE,0xc0,(PciInfo.Window.memWindows[0x1].dwBase &amp;amp; 0xffffff00) | 0x80);&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;Value = ReadDWord(MITE,0x300); //For Testing only, here it returns the correct device and vendor id&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;//PCI-Karte gefunden&lt;BR /&gt;&amp;nbsp;return 0;&lt;BR /&gt;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;void CNICard::DOTest()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;WriteByte(STC,0x0b,0xff); //Config as outputs&lt;BR /&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;for (int port_val = 0; port_val&amp;lt; = 255; port_val++)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; WriteByte(STC,0x0a, port_val);&lt;BR /&gt;&amp;nbsp;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;As is already wrote in the comment, the MITE returns the correct values for device and vendor id, so it's adresses correctly.&lt;/DIV&gt;
&lt;DIV&gt;The adresses are Bar0(MITE) 0xE8201000 and Bar1(STC) 0xE8200000, which is masked and written back to the MITE.&lt;/DIV&gt;
&lt;DIV&gt;But on the digital output lines of the card i can't see anything. Can anybody help? Is there any test I can perform to check that the STC is adressed correctly?&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Thanks and greetings from Germany,&lt;/DIV&gt;
&lt;DIV&gt;Thomas&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;Message Edited by ThomasF on &lt;SPAN class="date_text"&gt;03-08-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;05:46 AM&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Message Edited by ThomasF on &lt;SPAN class="date_text"&gt;03-08-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;05:48 AM&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 08 Mar 2006 10:51:49 GMT</pubDate>
    <dc:creator>ThomasF</dc:creator>
    <dc:date>2006-03-08T10:51:49Z</dc:date>
    <item>
      <title>Register Level Programming under CeWin RealTime OS</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Register-Level-Programming-under-CeWin-RealTime-OS/m-p/335204#M488</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Hello everybody,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;I'm using the RealTime OS CeWin from KukaControls to access an E-Series NI DAQ Card.&lt;/DIV&gt;
&lt;DIV&gt;I've read the Register Programming Manual and the STC Technical Reference Manual, but it doesn't seem to work. Here's my simple C++ example:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;#define STC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BaseAddressSTC&lt;BR /&gt;#define MITE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BaseAddressMITE&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;class CNICard&lt;BR /&gt;{&lt;BR /&gt;public:&lt;BR /&gt;&amp;nbsp;char PCIInit();&lt;BR /&gt;&amp;nbsp;void WriteByte(DWORD Addr, WORD Offset, BYTE Data);&lt;BR /&gt;&amp;nbsp;BYTE ReadByte(DWORD Addr, WORD Offset);&lt;BR /&gt;&amp;nbsp;WORD ReadWord(DWORD Addr, WORD Offset);&lt;BR /&gt;&amp;nbsp;void WriteWord(DWORD Addr, WORD Offset, WORD Data);&lt;BR /&gt;&amp;nbsp;DWORD ReadDWord(DWORD Addr, WORD Offset);&lt;BR /&gt;&amp;nbsp;void WriteDWord(DWORD Addr, WORD Offset, DWORD Data);&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;void DOTest();&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;private:&lt;BR /&gt;&amp;nbsp;DWORD BaseAddressSTC;&lt;BR /&gt;&amp;nbsp;DWORD BaseAddressMITE;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;};&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;char CNICard::PCIInit()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;BOOL&amp;nbsp;&amp;nbsp;&amp;nbsp;Result;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp;VirtAddress;&lt;BR /&gt;&amp;nbsp;CEWINPCIINFO&amp;nbsp;PciInfo;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp;&amp;nbsp;BaseAddressBAR0;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp;&amp;nbsp;BaseAddressBAR1;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp; Reg;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp; Value;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;Result = CeWinPciGetInfo(NIDAQ_NAME, &amp;amp;PciInfo);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!Result)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;return 1;&lt;BR /&gt;&amp;nbsp;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;//Mapping of BAR0&lt;BR /&gt;&amp;nbsp;VirtAddress = CeWinPciMapMemory(&amp;amp;PciInfo, NIDAQ_MEM_INDEX_BAR0);&lt;BR /&gt;&amp;nbsp;if (VirtAddress == 0)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;return 1;&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;BaseAddressBAR0 = (volatile) VirtAddress;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;//Mapping of&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;BAR1&lt;BR /&gt;&amp;nbsp;VirtAddress = CeWinPciMapMemory(&amp;amp;PciInfo, NIDAQ_MEM_INDEX_BAR1);&amp;nbsp;&lt;BR /&gt;&amp;nbsp;if (VirtAddress == 0)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;return 1;&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;BaseAddressBAR1 = (volatile) VirtAddress;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;BaseAddressMITE = BaseAddressBAR0;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;BaseAddressSTC = BaseAddressBAR1;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;WriteDWord(MITE,0xc0,(PciInfo.Window.memWindows[0x1].dwBase &amp;amp; 0xffffff00) | 0x80);&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;Value = ReadDWord(MITE,0x300); //For Testing only, here it returns the correct device and vendor id&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;//PCI-Karte gefunden&lt;BR /&gt;&amp;nbsp;return 0;&lt;BR /&gt;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;void CNICard::DOTest()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;WriteByte(STC,0x0b,0xff); //Config as outputs&lt;BR /&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;for (int port_val = 0; port_val&amp;lt; = 255; port_val++)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; WriteByte(STC,0x0a, port_val);&lt;BR /&gt;&amp;nbsp;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;As is already wrote in the comment, the MITE returns the correct values for device and vendor id, so it's adresses correctly.&lt;/DIV&gt;
&lt;DIV&gt;The adresses are Bar0(MITE) 0xE8201000 and Bar1(STC) 0xE8200000, which is masked and written back to the MITE.&lt;/DIV&gt;
&lt;DIV&gt;But on the digital output lines of the card i can't see anything. Can anybody help? Is there any test I can perform to check that the STC is adressed correctly?&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Thanks and greetings from Germany,&lt;/DIV&gt;
&lt;DIV&gt;Thomas&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;Message Edited by ThomasF on &lt;SPAN class="date_text"&gt;03-08-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;05:46 AM&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Message Edited by ThomasF on &lt;SPAN class="date_text"&gt;03-08-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;05:48 AM&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Mar 2006 10:51:49 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Register-Level-Programming-under-CeWin-RealTime-OS/m-p/335204#M488</guid>
      <dc:creator>ThomasF</dc:creator>
      <dc:date>2006-03-08T10:51:49Z</dc:date>
    </item>
    <item>
      <title>Re: Register Level Programming under CeWin RealTime OS</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Register-Level-Programming-under-CeWin-RealTime-OS/m-p/335231#M489</link>
      <description>&lt;DIV&gt;Here are the Read/Write functions:&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;void CNICard::WriteByte(DWORD Addr, WORD Offset, BYTE Data)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;DWORD*&amp;nbsp;pAValue;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;Reg;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;Reg = Addr + Offset;&lt;BR /&gt;&amp;nbsp;pAValue = (PDWORD)Reg;&lt;BR /&gt;&amp;nbsp;*pAValue = Data;&lt;BR /&gt;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;void CNICard::WriteDWord(DWORD Addr, WORD Offset, DWORD Data)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;DWORD*&amp;nbsp;pAValue;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;Reg;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;Reg = Addr + Offset;&lt;BR /&gt;&amp;nbsp;pAValue = (PDWORD)Reg;&lt;BR /&gt;&amp;nbsp;*pAValue = Data;&lt;BR /&gt;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;DWORD CNICard::ReadDWord(DWORD Addr, WORD Offset)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;DWORD*&amp;nbsp; pAValue;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp; Reg;&lt;BR /&gt;&amp;nbsp;DWORD&amp;nbsp;&amp;nbsp; WordValue;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;Reg = Addr + Offset;&lt;BR /&gt;&amp;nbsp;pAValue = (PDWORD)Reg;&lt;BR /&gt;&amp;nbsp;WordValue = (DWORD)(*pAValue);&lt;BR /&gt;&amp;nbsp;return(WordValue);&lt;BR /&gt;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 08 Mar 2006 11:48:50 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Register-Level-Programming-under-CeWin-RealTime-OS/m-p/335231#M489</guid>
      <dc:creator>ThomasF</dc:creator>
      <dc:date>2006-03-08T11:48:50Z</dc:date>
    </item>
    <item>
      <title>Re: Register Level Programming under CeWin RealTime OS</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Register-Level-Programming-under-CeWin-RealTime-OS/m-p/335395#M490</link>
      <description>&lt;P&gt;Have you taken a look at the example programs in the Measurement Hardware Driver Development Kit?&amp;nbsp; These might be a god starting point and will provide a working set of examples.&amp;nbsp; One option is to port the bus interface to your OS, instead of writing a driver AND developing your own sequence of register accesses.&lt;/P&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Sat, 02 Mar 2024 00:58:08 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Register-Level-Programming-under-CeWin-RealTime-OS/m-p/335395#M490</guid>
      <dc:creator>Malcolm</dc:creator>
      <dc:date>2024-03-02T00:58:08Z</dc:date>
    </item>
    <item>
      <title>Re: Register Level Programming under CeWin RealTime OS</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Register-Level-Programming-under-CeWin-RealTime-OS/m-p/337135#M492</link>
      <description>&lt;DIV&gt;Ok, that worked well for me... porting the bus interface was a good idea..&lt;/DIV&gt;
&lt;DIV&gt;Thank you&lt;/DIV&gt;</description>
      <pubDate>Mon, 13 Mar 2006 06:24:12 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Register-Level-Programming-under-CeWin-RealTime-OS/m-p/337135#M492</guid>
      <dc:creator>ThomasF</dc:creator>
      <dc:date>2006-03-13T06:24:12Z</dc:date>
    </item>
  </channel>
</rss>

