-
的确挺不错
-
https://bbs.eeworld.com.cn/viewthread.p ... highlight=AD%2BSTM8
STM8S库函数,GPIO_ReadInputPin()有问题
STM8S库函数,GPIO_ReadInputPin()有问题GPIO, ReadInputPin, 函数该函数原型是
BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin)
{
return ((BitStatus)(GPIOx->IDR & (vu8)GPIO_Pin));
}
而BitStatus的原型是
typedef enum {
RESET = 0,
SET = !RESET
}
BitStatus;
可见该枚举型常量中定义了2个数值:RESET为0,SET为1
如果GPIOA 的Pin1输入电平为高的话,GPIO_ReadInputPin(GPIOA, GPIO_PIN_1)结果为0x02,在GPIO_ReadInputPin()函数定义中,将结果进行了(BitStatus)的强制转换,但是返回结果依然是0x02,也就是说其强制转换是失败的,如果你判断该引脚的高电平用if(GPIO_ReadInputPin(GPIOA, GPIO_PIN_1) == SET)的话,那你错了,你永远得不到正确的结果,你只能这样if(GPIO_ReadInputPin(GPIOA, GPIO_PIN_1) == GPIO_PIN_1)
ST的工程师至于这么粗心吗?还是没经过测试?还是我上面说的有的地方是错误的或者是我某些地方理解错误?该问题容易引起初用STM8S者产生问题的,希望大家关注下我说的这个问题是否正确
0为假,其它全是真,你判断时候可以把==号去掉,直接if(fuction)或if(!fuction)
-
曾经用过,感觉还行吧
-
谢谢。版主。。
强大的网友,谁在用STM32F103VG 啊,能分我10片么???
谢谢啊。。。。。。
-
这个有现成的方案。
-
...
-
海同不错的。5月份刚刚通过了上海市商部委评审,成为首家嵌入式人才服务外包培训基地。在上海已经有三个校区。具体可以看看他们的官网:http://www.iotek.com.cn
-
引用 38 楼 great_bug 的回复:
写要麻烦些...
#define WRITE_IO_PATTERN(x) (PTN0=(x)&1?1:0,PTN1=(x)&2?1:0,PTN2=(x)&4?1:0,...,PTN7=(x)&0x80?1:0)
再次感谢,我还没来得及试验的呢,呵呵,过会试验了告诉你。
-
引用 13 楼 benbentobecow 的回复:
帮顶一下吧
呵呵
谢谢哦~!哈哈~!
-
学习一下:UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
-
差别不大。只是一些FIFo大小不一致吧。
嘿嘿就是根绝那个改的。网上很多例子了。good luck
-
[HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Transports\BuiltIn\1]
"driver"="bthcsr.dll"
"flags"=dword:4
"name"="COM0:"
"baud"=dword:1c200
"resetdelay"=dword:1388
-----------------------------------
对了,应该是这个才对
[HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Transports\BuiltIn\1]
"driver"="bthcsr.dll"
"flags"=dword:4
"name"="COM3:"
"baud"=dword:1c200
"resetdelay"=dword:1388
-
我在用STM8 编译器“ST Visual Develop”时发现C语言编译有这样的怪事,宏定义居然通不过,我用过一年多的Keil,从没出现过这样的事。程序如下:
#include "stm8s.h"
#define all 0x08; <-- 这里不能有分号
void main(void)
{ u ...
-
之前搞到最前面还是在后面加载的, 发现是没有整到binfs部分的kernel里面去.
后来加了:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\movlogo]
"Flags"=dword:1000
反而不加载了...
-
这个感觉向是把你的驱动 要加载到操作系统中,做到即插即用的,就跟我们使用U盘是一样的
楼主可以写个啥程序,把驱动加载到PC上,只要插上你的设备 就可以识别
这只是我的想法 具体这软件咋写 我也不会
-
软件 按键PIN时钟使能了,如果初始化输入没问题的话没道理不变低!
-
引用 4 楼 jennyvenus 的回复:
重装是正道。
经典
-
我用三极管做时候,电流不好控制,把LM393给拉住了
-
多谢回复,这个就是一个校准的过程啊,你的意思是硬件校准还是软件校准啊,我这样写个公式是不是属于软件校准啊?多谢
-
是需要PPP协议进行握手。看你在什么平台下用了,PPP源码有很多。