摘要: private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) { this.dataGridView1.Controls.Clear();//移除所... 阅读全文
posted @ 2014-11-14 11:30 流浪的小泽 阅读(3277) 评论(0) 推荐(1) 编辑
摘要: //Button Delete , delete selected items from databaseprivate void buttonDelete_Click(object sender, EventArgs e){ DialogResult dr = MessageBox.Show... 阅读全文
posted @ 2014-11-14 09:26 流浪的小泽 阅读(511) 评论(0) 推荐(0) 编辑
摘要: //在DataGridView中删除选中行,从数据库中删除。private void ButtonDelete_Click(object sender, EventArgs e){ if (dataGridView1.DataSource == null || dataGridView1.Cu... 阅读全文
posted @ 2014-11-14 09:24 流浪的小泽 阅读(702) 评论(0) 推荐(0) 编辑
摘要: HCS08 C语言提供一个很有用的功能,内嵌汇编。凡是C语言程序段能出现的地方汇编语言源程序都可以出现,但是汇编语言源程序必需位于一个C语言函数中。语法格式1)"asm" ";" ["/*"注释"*/"]双引号中的内容为关键字,方括号中的内容为可选项。例如:asm sta COPCTL;/*喂狗*/2)"asm" "{" [";"注释] [";"注释]"}"要求:大括号内每条汇编指令占一行;标号以“:”结尾占一行;注 阅读全文
posted @ 2013-11-27 13:47 流浪的小泽 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在嵌入式系统的实际调试中,多借助C语言指针所具有的对绝对地址单元内容的读写能力。以指针直接操作内存多发生在如下几种情况: (1) 某I/O芯片被定位在CPU的存储空间而非I/O空间,而且寄存器对应于某特定地址; (2) 两个CPU之间以双端口RAM通信,CPU需要在双端口RAM的特定单元(称为mail box)书写内容以在对方CPU产生中断; (3) 读取在ROM或FLASH的特定单元所烧录的汉字和英文字模。 譬如:unsigned... 阅读全文
posted @ 2013-11-22 17:32 流浪的小泽 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 使用宏定义 在C语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法。 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个: 错误做法:#define MIN(A,B) ( A 外部同步RAM > 外部异步RAM > FLASH/ROM 对于程序代码,已经被烧录在FLASH或ROM中,我们可以让CPU直接从其中读取代码执行,但通常这不是一个好办法,我们最好在系统启动后将FLASH或ROM中的目标代码拷贝入RAM中后再执行以提高取指令速度; 对于UART等设备,其内部有一定容量的接收BUFFER,我们应 阅读全文
posted @ 2013-11-22 17:30 流浪的小泽 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 16位平台char 1个字节8位short 2个字节16位int 2个字节16位long 4个字节32位指针 2个字节32位平台char 1个字节8位short 2个字节16位int 4个字节32位long 4个字节long long 8个字节指针 4个字节64位平台char 1个字节short 2个字节int 4个字节long 8个字节(区别)long long 8个字节指针 8个字节(区别)为了保证平台的通用性,程序中尽量不要使用long数据库型使用int时也可以使用intptr_t来保证平台的通用性,它在不同的平台上编译时长度不同,但都是标准的平台长度,比如64位机器它的长度就是8字节, 阅读全文
posted @ 2013-11-22 16:28 流浪的小泽 阅读(155) 评论(0) 推荐(0) 编辑