打印

谁有STM32W108各个模块驱动程序

[复制链接]
4582|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lwj006|  楼主 | 2011-7-29 10:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求STM32W108模块驱动程序,如ISP、IIC、ADC、UART等等。官方没有自己写起来比较麻烦,请问ST的代理商会吗?这样用起来更快,才便于STM32W108的推广和使用,可惜ST官网的资料太少了,射频部分的寄存器都没有给。
沙发
上官金虹| | 2011-7-29 10:24 | 只看该作者
貌似TI也要出CM3 Zigbee,ST资料太少,等TI。

使用特权

评论回复
板凳
yinyangdianzi| | 2011-7-29 12:57 | 只看该作者
:)

使用特权

评论回复
地板
lwj006|  楼主 | 2011-7-30 09:54 | 只看该作者
3# yinyangdianzi
老兄,你是卖芯片的,你貌似有很多资料(⊙o⊙)哦,能否分享一下呢?

使用特权

评论回复
5
ploto| | 2011-8-5 17:11 | 只看该作者
直接操作寄存器比较方便

使用特权

评论回复
6
yinyangdianzi| | 2011-8-9 11:51 | 只看该作者
[local]1[/local]

使用特权

评论回复
7
sinadz| | 2011-8-9 14:37 | 只看该作者
哪位大侠有就分享一下吧,多谢了

使用特权

评论回复
8
yinyangdianzi| | 2011-8-10 10:26 | 只看该作者
STM32W108各个模块驱动程序驱动程序, 寄存器

加我微博。。在微盘共享里。关注我,就可以看到!!!!
http://weibo.com/stmicroelectronic

使用特权

评论回复
9
ploto| | 2011-8-11 16:43 | 只看该作者
以下是GPIO引脚置位/清除功能 放到.h文件中啊。

// Each port is offset from the previous port by the same amount
#define GPIO_Px_OFFSET  (GPIO_PBCFGL_ADDR-GPIO_PACFGL_ADDR)

inline void halGpioSetBit(uint32 pin)
{
  //得到PORT号
   uint32 port = (pin >> 3);
   *((volatile int32u *)(GPIO_PASET_ADDR+ GPIO_Px_OFFSET * (port))) = (1 << (pin&7));

}

inline void halGpioClearBit(uint32 pin)
{
  //得到PORT号
  uint32 port = (pin >> 3);  
  
   *((volatile int32u *)(GPIO_PACLR_ADDR+ GPIO_Px_OFFSET * (port))) = (1 << (pin&7));
}
inline boolean halGpioIsHigh(uint32 pin)
{
        uint32 port = (pin >> 3);  

        return (*((volatile int32u *)(GPIO_PAIN_ADDR+ GPIO_Px_OFFSET * (port))) & (1 << (pin&7)));

}

使用特权

评论回复
10
ploto| | 2011-8-11 16:48 | 只看该作者
UART的驱动程序

例程:
//初始化
uartInit(115200, 8, PARITY_NONE, 1);

//发送数据
uartSendBuf("AP Started",10);

//发送一个字节
uartSendChar('S');


如果要发送数据量比较大,修改UART_QUEUE_SIZE即可

uart.rar

2.09 KB

使用特权

评论回复
11
ploto| | 2011-8-11 16:48 | 只看该作者
以下是GPIO引脚置位/清除功能 放到.h文件中啊。

// Each port is offset from the previous port by the same amount
#define GPIO_Px_OFFSET  (GPIO_PBCFGL_ADDR-GPIO_PACFGL_ADDR)

inline void halGpioSetBit(uint32 pin)
{
  //得到PORT号
   uint32 port = (pin >> 3);
   *((volatile int32u *)(GPIO_PASET_ADDR+ GPIO_Px_OFFSET * (port))) = (1 << (pin&7));

}

inline void halGpioClearBit(uint32 pin)
{
  //得到PORT号
  uint32 port = (pin >> 3);  
  
   *((volatile int32u *)(GPIO_PACLR_ADDR+ GPIO_Px_OFFSET * (port))) = (1 << (pin&7));
}
inline boolean halGpioIsHigh(uint32 pin)
{
        uint32 port = (pin >> 3);  

        return (*((volatile int32u *)(GPIO_PAIN_ADDR+ GPIO_Px_OFFSET * (port))) & (1 << (pin&7)));

}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

116

帖子

1

粉丝