对于MCU,一切底层配置,最终都是在配置寄存器 51单片机访问地址 51单片机经常会引用一个reg51.h的头文件.下面看看它是怎么把名字和寄存器联系在一起的: 1 sfr p0=0x80; 2 p0=0x00; sfr是一种扩充数据类型,使用一个内存单位,值域为0-255.利用它可以访问51单片机内部所有的特殊功能寄存器.前一句"sfr p0=0x80"就是将P0映射到地址0x80.以后对P0的读写操作即使对0x80地址对应的单元进行读写操作:注意:单独的地址是不能进行操作的,必须对…
初学STM32,在RealView MDK 环境中使用STM32固件库建立工程时,初学者可能会遇到编译不通过的问题.出现如下警告或错误提示: warning: #223-D: function "assert_param" declared implicitly;assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); 这时候我们需要在“Target Options”中的“C/C++”选项卡中如图-2所示红框中添加USE_STDPERIPH_DRIVER.STM…
<div id="container" class="map" style="margin-top:30px; width: 1200px;height:300px;border: 1px solid #f4d3ba;"></div><div id="containers" style="display: none"></div> <script>…
个字节,段信息无法直接存放在段寄存器中(段寄存器只有2字节).Intel的设计是段描述符集中存放在GDT或LDT中,而段寄存器存放的是段描述符在GDT或LDT内的索引值(index). Linux中逻辑地址等于线性地址.为什么这么说呢?因为Linux所有的段(用户代码段.用户数据段.内核代码段.内核数据段)的线性地址都是从 0x00000000 开始,长度4G,这样 线性地址=逻辑地址+ 0x00000000,也就是说逻辑地址等于线性地址了. 这样的情况下Linux只用到了GDT,不论是用户任务…
一.STM32 (Cortex-M3) 中的优先级概念 STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作"亚优先级"或"副优先级",每个中断源都需要被指定这两种优先级. 1. 何为占先式优先级(pre-emption priority) 高占先式优先级的中断事件会打断当前的主程序/中断程序运行-抢断式优先响应,俗称中断嵌套. 2. 何为副优先级(subpriority) 在占先式优先级相同的情况下,高副优先级的中断优…
1.1.1.1.      步骤一:将驼峰匹配注释掉 --------------测试完成后仍然 回来开启  其他地方可能用到 一旦注释掉驼峰匹配,那么再通过queryUserById查询的结果中,用户名就无法封装了,此时我们可以尝试使用ResultMap来解决这个问题. 1.1.1.2.      步骤二:在UserMapper.xml中配置resultMap <!-- resultMap标签:可以自己配置对象属性和表字段的映射(不仅仅是驼峰规则的映射) type属性:结果集的封装类型 id属…
void call_func( void (*func)(void)){ (*func)(); } void setup() { // put your setup code here, to run once: volatile uint8_t *PA=(volatile uint8_t *)0x103; Serial.begin(); Serial.println((int)PA);//0x103 Serial.println(*PA); //内容是PINJ Serial.println(P…
STM32和STR71X移植uCos-II操作系统比较分析 ——ARM7 TDMI和ARMv7-M Cortex-M3 的异同 STM32F103ZE,大容量,ARMv7-M,Cortex-M3系列,双堆栈,handler模式和线程模式,中断比较简单,且中断向量表偏移也很容易: STR710FZ2,ARM7TDMI,七种模式,快速中断和外部中断,中断执行流程比较复杂. 1 临界区的实现 1.1 STM32的实现 进入临界区#define  OS_ENTER_CRITICAL()  {cpu_sr…
项目开发中的一些注意事项以及技巧总结   1.jquery采用ajax向后端请求时,MVC框架并不能返回View的数据,也就是一般我们使用View().PartialView()等,只能返回json以及content等,但是一般我们在开发的时候也是使用json返回的,此时如果需要渲染界面或者是加载局部视图,我们可以在ajax的success的事件中使用$.html()来渲染后台给前端传的View()数据.一开始我遇到这个问题的时候还很纳闷,为什么ajax给后端穿了POST之后,不能加载局部页面,…
源:keil mdk中如何确保某一段程序不被优化掉 使用mdk编程,假如有一个有用的函数你定义了但是没有显式的调用,mdk在默认方式下,将会把这个函数从整个程序总删除掉,以节省ROM. 比如,你在ROM的0x00002000处定位了一个函数,假设为void test(void),然后使用函数指针来调用它: void (*UserProgram)();          //函数指针 UserProgram = (void (*)()) (0x00002000);//定位到指定的入口地址0x000…