你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
anny 发表于 2018-9-28 14:28 STM32CubeMX配置STM32F030F4P6硬件SPI驱动串行数码管 https://www.stmcu.org.cn/module/forum/forum.php?mod ...
wwwheihei 发表于 2018-9-28 16:35 标准库硬件spi驱动595搞过吗
{
int i = 0;
for (i = 0; i < 8; i++)
{
GpioLow(SCK_GPIO);
if (byte & (1 << (7 - i)))
GpioHigh(MOSI_GPIO);
else
GpioLow(MOSI_GPIO);
GpioHigh(SCK_GPIO);
}
}
评分
查看全部评分
if (val < MAX_VALUE)
Send595Byte(~(Disp_Const[val] | ((dig == g_iDotPos) ? DOT_MASK : 0)));
else
Send595Byte(0xFF);
Send595Byte(1 << dig | ((g_bLed != 0 ? 1 : 0) << 4));
//PB_ODR |= 0x10;
GpioHigh(CS_GPIO);
随便找了一段代码,大概的通讯流程如下,SCK和SDI需要设置为对应的IO口输出高低状态:
void TP595WriteByte(uint8_t data)
{
uint8 i;
TP595_SCK_CLR();
for(i=0;i<8;i++) //msb (信号上升沿有效)
{
if(data&0x80)
{
TP595_SDI_SET();
}
else
{
TP595_SDI_CLR();
}
__delay__();
TP595_SCK_SET();
__delay__();
TP595_SCK_CLR();
data = data << 1;
}
__delay__();
TP595_RCK_SET();
__delay__();
TP595_RCK_CLR();
__delay__();
}
评分
查看全部评分
给你现敲了一段代码。
发送的数据是 uint8_t disp[] = {0x80,0xaa,0x55,0x01}; 4个字节,代表有4个HC595串联。
STM32CubeMX完整工程:
评分
查看全部评分
https://www.stmcu.org.cn/module/ ... amp;fromuid=2075309
(出处: 意法半导体STM32/STM8技术社区)
评分
查看全部评分
标准库硬件spi驱动595搞过吗
HAL库,你用标准库也可以