- 博客(7)
- 资源 (3)
- 收藏
- 关注
转载 结构体类型强制转换
看code的过程中,经常看到将一个结构(a)体强制转换为另一结构体类型(b)后,赋给结构体(b)的变量。不明白其中奥秘,忍了好久终于忍不住编了一小段程序测试一下。如下: #include#include #include typedef struct chann_s{ int num1; int num2;}chann_t;typedef struct mpoaChann_s{ chann_t chan; int num3; int num4;}mpoaChann_t;void main(){ chann_
2011-04-07 09:16:00
1829
1
原创 STM8固件库+IAR 之--UART3
本来想先写定时器1来着,可手头上正好有串口的程序,整理整理先贴上来呗~首先到stm8s_conf.h把 #define _UART3 (1) 打开,否则uart3不能用,重新编译一下静态库贴main.c代码:#include "stm8s.h"/*========内部高速时钟初始化========*/void init_hsiclk(void) { CLK_DeInit(); //寄存器复位 CLK_HSICmd(ENABLE); //内部高速时钟使能 CLK_
2011-04-06 21:16:00
4681
1
转载 printf格式串中的%f到底是float还是double?实验来证明!
<br />最近在CSDN上看到一个网友写下了类似如下代码,想以小数格式输出一个整数:<br />int a = 0, b = 0;<br />printf("%f, %d", a, b);<br />可是运行结果并不尽如人意,%f字段输出了0,%d字段输出一个较大的数据。<br />因为我最近刚阅读了浮点数的内存表示方法,所以对上述代码做出解释如下:<br />%f为double类型,需要两个字节表示,所以,printf在遇到%f时即将a,b的两个整型数据都读了去,而到了需要输出%d的时候,只能读取b的下
2011-04-01 10:47:00
1565
2
原创 STM8固件库+IAR 之--CLK
<br />STM8的时钟控制十分强大,用户可独立地管理各个时钟源,并将它们分配到CPU或各个外设。主时钟和CPU时钟均带有预分频器。具有安全可靠的无故障时钟切换机制,可在程序运行中将主时钟从一个时钟源切换到另一个时钟源。本程序是更改内部2M或者外部8M晶振,让led2闪灯,通过不同初始化,能观察出led的快慢,上代码:<br /> <br />#include "stm8s.h"<br />/*========内部高速时钟初始化========*/<br />void init_hsiclk(void)
2011-03-31 14:08:00
1812
1
原创 STM8固件库+IAR 之--GPIO
单片机必然先从GPIO开始,开发板上的三个led灯分别是PD0,PD2和PD3,KEY 则是PD7,所以GPIO初始化只初始化PD口即可,话不多说,直接上代码:#include "stm8s.h"/*========始终初始化========*/void init_clk(void) { CLK_DeInit(); //寄存器复位 CLK_HSICmd(ENABLE); //内部高速时钟使能 CLK_HSIPrescalerConfig(CLK_PRESCALE
2011-03-31 10:05:00
2597
原创 STM8固件库+IAR 之--环境
板子算拿到手真的不少时间了,一直一些乱七八糟的事情侬着,没有好好的修炼修炼这块板子,Now……直接秀秀俺的开发板,三合一套件~~
2011-03-29 15:55:00
4018
转载 C/C++命名规则
1.1 共性规则本节论述的共性规则是被大多数程序员采纳的,我们应当在遵循这些共性规则的前提下,再扩充特定的规则,如1.2和1.3中所描述的。【规则1-1-1】 标识符应当直观且可以拼读,可望文知意,不必进行"解码"。 标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文单词一般不会太复杂,用词应当准确。例如不要把CurrentValue写成NowValue。 【规则1-1-2】 标识符的长度应当符合"min-length && max-information"原则。 几 十年
2011-03-29 15:31:00
613
stm8三合一开发板IAR固件库空白工程
2011-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人