<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to program nRF52832 in C/C++ from bottom up?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/30988/how-to-program-nrf52832-in-c-c-from-bottom-up</link><description>Hi there, 
 A little background in my experiences first: I&amp;#39;ve programmed a couple PIC24 microcontrollers in the past for VERY simple embedded system projects (i.e. making some LEDs blink, controlling a keypad, creating a simple ADC, etc.). In all of these</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 01 Mar 2018 04:48:07 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/30988/how-to-program-nrf52832-in-c-c-from-bottom-up" /><item><title>RE: How to program nRF52832 in C/C++ from bottom up?</title><link>https://devzone.nordicsemi.com/thread/122378?ContentTypeID=1</link><pubDate>Thu, 01 Mar 2018 04:48:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:23b3862a-aaa2-4d54-90cb-82901c4fd033</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;The following links are what you are looking for :&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Blog :&amp;nbsp;&lt;a title="Bluetooth LE with Nordic nRF51 &amp;amp; nRF52 series The easy way!" href="http://embeddedsoftdev.blogspot.ca/2018/02/bluetooth-le-with-nordic-nrf51-nrf52.html"&gt;Bluetooth LE with Nordic nRF51 &amp;amp; nRF52 series The easy way!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Library :&amp;nbsp;&lt;a href="https://github.com/IOsonata/IOsonata"&gt;IOsonata&lt;/a&gt;&amp;nbsp;Object oriented programming for MCU (nRF51, nRF52, nRF53, nRF91, LCP11xx, LPC17xx, STM32,...)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to program nRF52832 in C/C++ from bottom up?</title><link>https://devzone.nordicsemi.com/thread/122368?ContentTypeID=1</link><pubDate>Wed, 28 Feb 2018 23:18:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:feb94de5-791c-4ac0-8806-8e7c09f74554</guid><dc:creator>AmbystomaLabs</dc:creator><description>&lt;p&gt;I think you will find most people in all facets of embedded work do a mix of straight C, C with libraries (mainly drivers) and occasionally a little assembly.&lt;/p&gt;
&lt;p&gt;Generally the mix varies depending on how familiar they are with the hardware and how good they are at coding for embedded. The people coming from Objective C, html, java, etc. generally complain about driver support and why there isn&amp;#39;t a driver for every little thing they ever thought of.&lt;/p&gt;
&lt;p&gt;The people who are from hardware, VHDL, FPGA, DSP, and other mixed logic design generally talk a lot about which register does what.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s really not worth your time to try to do everything in assembly.&amp;nbsp; But, I would say that it can be fruitful to learn how the registers work and make the hardware dance that way.&amp;nbsp; Often you can do in one or two lines of code by writing to registers what may take a few hundred lines using the drivers.&lt;/p&gt;
&lt;p&gt;All the registers are well defined in the product specs.&amp;nbsp; And there are many examples within the devzone where people have posted enough code for you to figure out how to work with the registers.&lt;/p&gt;
&lt;p&gt;As Richard D. pointed out the the BLE stack is really complex and would be a big, big feat to try to replicate. Just use the SoftDevice.&amp;nbsp; If you are just making beacons you&amp;nbsp;could probably code them directly in C without much effort.&amp;nbsp; But it would only be for your education, since it would not satisfy bluetooth SIG standards.&lt;/p&gt;
&lt;p&gt;Also, I have occasionally seen people on the devzone refer to ble stacks on github for other processors.&amp;nbsp; If you really want to dig into it, that could be a way.&lt;/p&gt;
&lt;p&gt;Have fun!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to program nRF52832 in C/C++ from bottom up?</title><link>https://devzone.nordicsemi.com/thread/122363?ContentTypeID=1</link><pubDate>Wed, 28 Feb 2018 20:13:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5cc50d9c-582c-4727-889c-bdb07ae6dc96</guid><dc:creator>Richard D.</dc:creator><description>&lt;p&gt;I can empathize with your desire to completely control everything yourself, but the Nordic processor is way more complex than simple microcontrollers and of course, that requires much more complex software. Fortunately, Nordic provides libraries and API&amp;#39;s that abstract most of the complexity for us.&lt;/p&gt;
&lt;p&gt;Much of the complexity is handled in Nordic&amp;#39;s &amp;#39;softdevice&amp;#39; which combines the functionality of a simple OS, I/O drivers and BLE protocol stack.&lt;/p&gt;
&lt;p&gt;The SDK also contains many sample projects covering most of the I/O functionality you might want. I suggest the best way to get started is with one of the simple sample applications. You might also consider getting Nordic&amp;#39;s NRF52-DK dev kit, that gives you some LED&amp;#39;s and buttons to play with.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>