Confusion between Arduino and PIC, Which one is better for learning?

MrChips

Joined Oct 2, 2009
35,018
This was an extraordinary bug and so I'm intrigued! How was the hardware interfaced to the processor, was it memory-mapped? What system call did the library use to write the byte(s)? What data type? If the extra byte didn't get on to the bus, where did it go? Please provide more info as this sounds like a fascinating case study.
I usually take meticulous notes when working on things such as this. I will dig out my notes and post my findings on another forum thread, perhaps another day.
 

upand_at_them

Joined May 15, 2010
939
Can you site me specific examples where knowledge of fundamental arithmetic is not required in today's society?
MrChips, those are not the same thing and you know it. Fundamental math *is* necessary. Knowledge of assembly is not. I'm not saying nobody should learn assembly. Hey, if you want to then go for it. I'm saying that the idea that knowing it somehow improves understanding is false.
 

nsaspook

Joined Aug 27, 2009
16,432
MrChips, those are not the same thing and you know it. Fundamental math *is* necessary. Knowledge of assembly is not. I'm not saying nobody should learn assembly. Hey, if you want to then go for it. I'm saying that the idea that knowing it somehow improves understanding is false.
The problem I have with this statement is that it understates the hardware component of embedded programming. Knowing fundmental assembly concepts improves your hardware to software skillset by expanding what you know about low-level hardware. Purely from the standpoint of Information Technology the ASM concept might seem distant and unimportant but from the Computer Science Engineering standpoint, hardware primitives, computer architecture, assembly language and operating systems components allow you see, copy and design the unique and interesting in the embedded design arena of programming while using high-level skills.

https://regis.brightspace.com/d2l/lor/viewer/viewFile.d2lfile/6606/52/CS370_Syllabus.html
Course Overview

In this course you will learn about the architecture of a typical microprocessor and its role in a computer system. By studying the machine and assembly language of a particular processor, specifically the x86 family of processors, you will begin to understand how a high-level programming languages, such as C++ and Java, are actually translated (compiled), and prepared for execution, loaded, and executed on the computer.


You will become familiar with the basic tools used for low-level programming: the editor, assembler, linker, loader, debugger, and machine language monitor. Most importantly, you will understand how data is stored and manipulated at the lowest levels of machine activity, providing a solid framework for developing high-level programming skills.
http://catalog.wichita.edu/undergraduate/courses/cs/cs.pdf
CS 238. Assembly Language Programming (3).Introduces basic concepts of computer organization and operation.Studies machine and assembly language programming concepts thatillustrate basic principles and techniques. Laboratory exercises givenfor experience using personal computers. Prerequisite(s): CS 211.
 
Last edited:

MrChips

Joined Oct 2, 2009
35,018
CS 101
They teach boolean algebra such as what is an AND gate and an OR gate.
Is this irrelevant to a person who wants to learn how to program in C?
 
Top